public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Referencia referencia = await db.Referencias.FindAsync(id); if (referencia == null) { return(HttpNotFound()); } FechamentoViewModel fechamento = new FechamentoViewModel { Id = referencia.Id, IdUsuario = referencia.Usuario.Id, Ano = referencia.Ano, Mes = referencia.Mes, Fechado = referencia.Fechado, HorasPrevistasDouble = referencia.Previsto.TotalHours }; return(View(fechamento)); }
public async Task <ActionResult> Edit([Bind(Include = "Id, IdUsuario, HorasPrevistasString, Fechado")] FechamentoViewModel referencia) { if (referencia.HorasPrevistasDouble < 0) { MensagemParaUsuarioViewModel.MensagemErro("Favor preencher as horas previstas", TempData, ModelState); } if (ModelState.IsValid) { try { var refe = db.Referencias.Find(referencia.Id); if (refe != null) { refe.Previsto = referencia.HorasPrevistasTimeSpan; refe.Fechado = referencia.Fechado; refe.SincronizaAtividades(new CalendarioServices()); await db.SaveChangesAsync(); MensagemParaUsuarioViewModel.MensagemSucesso("Alterações salvas.", TempData); return(View(referencia)); } else { MensagemParaUsuarioViewModel.MensagemErro("Não foi encontrada a referência deste mês para este funcionário", TempData, ModelState); } } catch (DbEntityValidationException ex) { string exceptionMessage = LogServices.ConcatenaErrosDbEntityValidation(ex); MensagemParaUsuarioViewModel.MensagemErro(exceptionMessage, TempData, ModelState); } catch (Exception err) { MensagemParaUsuarioViewModel.MensagemErro(err.Message, TempData, ModelState); } } return(View(referencia)); }