예제 #1
0
        public async Task <IHttpActionResult> Create([FromBody] EvaluacionFormModel formModel)
        {
            GenericResult itemResult = null;

            try
            {
                if (await _authorizationService.AuthorizeAsync(User))
                {
                    if (ModelState.IsValid)
                    {
                        var evaluacion = new Evaluacion
                        {
                            NombreMIC       = formModel.NombreMIC,
                            NombreRGM       = formModel.NombreRGM,
                            PosicionMIC     = _evaluacionService.GetPosicion(formModel.Posicion),
                            TipoVisita      = formModel.TipoVisita,
                            ParteDelDia     = formModel.ParteDia,
                            TipoEvaluacion  = _evaluacionService.GetTipoEvaluacion(formModel.TipoEvaluacion),
                            Local           = _localService.Get(formModel.IdLocal),
                            Estado          = _statusService.Online(),
                            FechaEvaluacion = DateTime.Now,
                            HoraEvaluacion  = DateTime.Now,
                            ActualizadoEn   = DateTime.Now,
                            CreadoEn        = DateTime.Now,
                            ActualizadoPor  = "admin",
                            CreadoPor       = "admin",
                        };

                        var confirmation = _evaluacionService.SaveOrUpdate(evaluacion);
                        if (confirmation.WasSuccessful)
                        {
                            var respConfirmation = _evaluacionService.CreateRespuestasByEvaluacion(evaluacion.Id);

                            itemResult = GenericResult.Ok(confirmation.Message);
                            var item = confirmation.Value as Evaluacion;
                            itemResult.ReturnValue = new { Id = item.Id };
                        }
                        else
                        {
                            itemResult = GenericResult.Failure(confirmation.Message);
                        }
                    }
                }
                else
                {
                    var codeResult = new CodeResultStatus(401);
                    return(Ok(codeResult));
                }
            }
            catch (System.Exception exception)
            {
                itemResult = GenericResult.Failure(exception.Message);
            }

            return(Ok(itemResult));
        }