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)); } }
/// <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)); } }
/// <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); } }
/// <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); } }