public async Task <IHttpActionResult> Update(BecarioExternoINEEL model)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                await _repo.Update(model);

                return(Ok("Registro actualizado correctamente"));
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                return(InternalServerError(e));
            }
        }
Пример #2
0
 /// <summary>
 /// Crear un becario
 /// </summary>
 /// <param name="model">modelo a crear</param>
 /// <returns></returns>
 public async Task Create(BecarioExternoINEEL model)
 {
     try
     {
         if (await ValidarDuplicados(model))
         {
             throw new ApplicationException("Ya existe un registro con ese nombre.");
         }
         _dbch.BecarioExternoINEEL.Add(model);
         await _dbch.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
        public async Task <IHttpActionResult> Create(BecarioExternoINEEL model)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                await _repo.Create(model);

                return(Ok("Registro creado correctamente"));
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }
Пример #4
0
        /// <summary>
        /// Valida que no existan registros duplicados de becarios
        /// </summary>
        /// <param name="model"><BecarioExternoINEEL>model</param>
        /// <returns>Boolean</returns>
        public async Task <Boolean> ValidarDuplicados(BecarioExternoINEEL model)
        {
            try
            {
                var registros = await _dbch.BecarioExternoINEEL.Where(e => e.ClaveBecario == model.ClaveBecario && e.TipoBecaId == model.TipoBecaId &&
                                                                      DbFunctions.TruncateTime(e.FechaInicio) == DbFunctions.TruncateTime(model.FechaInicio) &&
                                                                      DbFunctions.TruncateTime(e.FechaTermino) == DbFunctions.TruncateTime(model.FechaTermino) &&
                                                                      e.BecarioId != model.BecarioId)
                                .AsNoTracking().CountAsync();

                if (registros > 0)
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Пример #5
0
        /// <summary>
        /// Actualiza un becario
        /// </summary>
        /// <param name="model">becario con los nuevos valores</param>
        /// <returns></returns>
        public async Task Update(BecarioExternoINEEL model)
        {
            try
            {
                var _model = await _dbch.BecarioExternoINEEL
                             .FirstOrDefaultAsync(e => e.BecarioId == model.BecarioId);

                if (_model != null)
                {
                    if (model.Adjunto != null)
                    {
                        Adjunto key = await new AdjuntoRepository().CreateAd(model.Adjunto);
                        model.AdjuntoId = key.AdjuntoId;
                    }

                    if (model.EstadoFlujoId == 3)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Create("CH", "BecarioDirigido", _model.NombreBecario, "indexCH.html#/InformeBecarioDetails/" + _model.BecarioId, Convert.ToString(_model.BecarioId));
                    }
                    else
                    {
                        var notificacion = await _dbgen.dbSetNuevoOC.Where(e => e.OcsId.Equals("BecarioDirigido") && e.IdExterno == _model.BecarioId + "").AsNoTracking().FirstOrDefaultAsync();;
                        if (notificacion != null)
                        {
                            NuevoOCRepository repo = new NuevoOCRepository();
                            await repo.DeleteId("BecarioDirigido", _model.BecarioId + "");
                        }
                    }

                    _dbch.Entry(_model).CurrentValues.SetValues(model);
                    await _dbch.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }