Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Estou tentando comparar 2 datas, uma delas esta na tabela, e a outra é uma DateTime.Now, que declarei no meu codigo.
alguem pode me sugerir algo ?
obrigado!!
public ActionResult DevolveFicha(int? id)
{
GetBasicData();
// var data = (from x in db.EPI_REQ_PENDENTES where x.id_REQ == id select x.id_FICHA);
var idf = (from x in db.EPI_REQ_PENDENTES where x.id_REQ == id select x.id_FICHA).FirstOrDefault();
if (idf == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
FICHA_MESTRE fICHA_MESTRE = db.FICHA_MESTRE.Find(idf);
if (fICHA_MESTRE == null)
{
return HttpNotFound();
}
DateTime hoje = DateTime.Now;
// DateTime.DATA = DateTime.Parse(EPI_REQ_PENDENTES.)
//DateTime emiss = DateTime.Parse(fICHA_MESTRE.dat_emissao.Value.ToString());
return View(fICHA_MESTRE);
}>
13 minutos atrás, itlpps disse:
Como está vindo a data do bd?
Vem de uma tabela nesse formato YYYY-MM-DD HH:MM:SS
Se o campo da sua Model for DateTime, e o select trouxer ele carregado, é só comparar...
>
36 minutos atrás, itlpps disse:
Se o campo da sua Model for DateTime, e o select trouxer ele carregado, é só comparar...
o Campo é DateTime sim!
Eu tento comparar o campo com a minha variavel hoje, mas o if nao aceita...Mostra como está fazendo o if, o código que postou está incompleto.
Mostra o erro também.
>
1 hora atrás, itlpps disse:
Mostra como está fazendo o if, o código que postou está incompleto.
Mostra o erro também.
EPI_REQ_PENDENTES ePI_REQ_PENDENTES = db.EPI_REQ_PENDENTES.Find(data);
DateTime hoje = DateTime.Now;
if (hoje <> ePI_REQ_PENDENTES) //aqui me retorna erro no operador
{
}
Ja tentei usar DateTime.Compare(campo1, campo2) mas tambem da erro...
Obrigado pela ajuda!!Em C# diferente não é assim.. Isso ai é no SQL;
Tenta assim:
if (hoje != ePI_REQ_PENDENTES)
{
}>
18 minutos atrás, itlpps disse:
Em C# diferente não é assim.. Isso ai é no SQL;
Tenta assim:
if (hoje != ePI_REQ_PENDENTES)
{
}
estou tentando por esse caminho :
EPI_REQ_PENDENTES ePI_REQ_PENDENTES = db.EPI_REQ_PENDENTES.Find(id);
DateTime hoje = DateTime.Now;
DateTime emiss = DateTime.Parse(ePI_REQ_PENDENTES.DAT_MOVTO.ToString());
if (hoje != emiss)
{
ePI_REQ_PENDENTES.dev_justificativa = "Devolvido";
db.Entry(ePI_REQ_PENDENTES).State = EntityState.Modified;
db.SaveChanges();
}
o if nao aceita comparação por datas, pelomenos nao consegui...Cara, aparentemente está tudo certo.
Você está comparando dois objetos do mesmo tipo...
Coloca um break point, vai debugando pra ver o que tem de errado;
>
48 minutos atrás, itlpps disse:
Cara, aparentemente está tudo certo.
Você está comparando dois objetos do mesmo tipo...
Coloca um break point, vai debugando pra ver o que tem de errado;
Consegui pelo caminho que postei acima Itlpps!
resumindo: nao posso comparar 2 campos diretamente no if, precisa "parsear" a data antes...
Obrigado pela ajuda e atenção!!Você estava comparando errado
No if você estava comparando o objeto(ePI_REQ_PENDENTES) com a data(hoje)
Você tinha que comparar data dentro do objeto(ePI_REQ_PENDENTES.DAT_MOVTO) com a data(hoje), se comparar desta forma não precisa fazer o parse
Como está vindo a data do bd?