示例#1
0
        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));
        }
示例#2
0
        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));
        }