public async Task UpdateEstado(BecarioExterno model) { try { var _model = await _db.BecarioExterno.FirstOrDefaultAsync(e => e.BecarioExternoId == model.BecarioExternoId); if (_model != null) { _model.EstadoActivoId = model.EstadoActivoId; await _db.SaveChangesAsync(); } try { List <String> cambios = new List <string>(); cambios.Add("se modifica el estado "); BitacoraSISTEMA.InsertaMovCRUD( String.Concat("BecarioExterno_", _model.BecarioExternoId), String.Concat("El registro con el becario ", _model.Becario_Nombre), cambios, null, Movimiento.edit); // Insertamos en la bitácora de movimientos. } catch (Exception e) { } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Create(BecarioExterno model) { try { _db.BecarioExterno.Add(model); await _db.SaveChangesAsync(); } catch (Exception e) { throw new Exception(e.Message, e); } }
/// Valida que no existan registros de becarios externos /// </summary> /// <param name="model"><BecarioExterno>model</param> /// <returns>Boolean</returns> public async Task <Boolean> ValidarDuplicados(BecarioExterno model) { try { var registros = await _dbch.BecarioExterno.Where(e => e.Becario_ClavePersona == model.Becario_ClavePersona && e.TipoBecaId == model.TipoBecaId && DbFunctions.TruncateTime(e.FechaInicio) == DbFunctions.TruncateTime(model.FechaInicio) && DbFunctions.TruncateTime(e.FechaTermino) == DbFunctions.TruncateTime(model.FechaTermino) && e.BecarioExternoId != model.BecarioExternoId) .AsNoTracking().CountAsync(); if (registros > 0) { return(true); } return(false); } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <BecarioExterno> GetExistente(BecarioExterno Obj) { try { var result = await _db.BecarioExterno.Where(e => e.Becario_ClavePersona == Obj.Becario_ClavePersona && e.TipoBecaId == Obj.TipoBecaId && e.Asesor_ClavePersona == Obj.Asesor_ClavePersona) //.Include(e => e.EstadoFlujo) //.Include(e => e.TipoBeca) //.Include(e => e.Proyecto) //.Include(e => e.UnidadOrganizacional) //.Include(e => e.Adjunto) .Include(e => e.Institucion) .Include(e => e.AdjuntoBecarioExterno) .Include("AdjuntoBecarioExterno.Adjunto") .AsNoTracking() .FirstOrDefaultAsync(); return(result); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(BecarioExterno model) { try { var _model = await _db.BecarioExterno .FirstOrDefaultAsync(e => e.BecarioExternoId == model.BecarioExternoId); if (model.EstadoFlujoId == 1 && _model.EstadoFlujoId == 3) { await new NuevoOCRepository().DeleteId("BecarioExterno", _model.BecarioExternoId + ""); } if (_model != null) { foreach (var adjuntoBecarioExterno in model.AdjuntoBecarioExterno) { if (adjuntoBecarioExterno.Adjunto != null) { try { if (adjuntoBecarioExterno.Adjunto.AdjuntoId < 1) //NUEVO ADJUNTO { _dbGen.dbSetAdjuntos.Add(adjuntoBecarioExterno.Adjunto); await _dbGen.SaveChangesAsync(); //guardar el adjunto adjuntoBecarioExterno.AdjuntoId = adjuntoBecarioExterno.Adjunto.AdjuntoId; adjuntoBecarioExterno.BecarioExternoId = model.BecarioExternoId; //guardar nuevo adjuntoBecarioExterno _db.AdjuntoBecarioExterno.Add(adjuntoBecarioExterno); await _db.SaveChangesAsync(); //guardar el adjunto _dbGen = new GEN_Context(); } else //adjunto existente: actualizar el adjunto { if (adjuntoBecarioExterno.Adjunto.nombre.Equals("eliminar")) { var _adjuntoBe = await _db.AdjuntoBecarioExterno.FirstOrDefaultAsync(e => e.AdjuntoId == adjuntoBecarioExterno.Adjunto.AdjuntoId); if (_adjuntoBe != null) { _db.AdjuntoBecarioExterno.Remove(_adjuntoBe); await _db.SaveChangesAsync(); } } else { var _modelAdjunto = await _dbGen.dbSetAdjuntos.FirstOrDefaultAsync(e => e.AdjuntoId == adjuntoBecarioExterno.Adjunto.AdjuntoId); _dbGen.Entry(_modelAdjunto).CurrentValues.SetValues(adjuntoBecarioExterno.Adjunto); await _dbGen.SaveChangesAsync(); } //if (model.EstadoFlujoId == 3) //{ // await new NuevoOCRepository().Create( // new NuevoOC("CH", // "IBE", // model.Titulo, // "indexMT.html#/InformeBecariooDetails/" + model.BecarioExternoId // )); //} } } catch (Exception e) { throw new Exception(e.Message, e); } } } _db.Entry(_model).CurrentValues.SetValues(model); await _db.SaveChangesAsync(); PersonasRepository prep = new PersonasRepository(); Personas p = await prep.GetByClave(model.Asesor_ClavePersona); p.ultimaActualizacion = DateTime.Now; await prep.Update(p); } } catch (Exception e) { throw new Exception(e.Message, e); } }
[Authorize] public async Task <IHttpActionResult> Create(BecarioExterno BecarioExterno) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _BecarioExternoRepo.Create(BecarioExterno); return(Ok("Registro creado correctamente")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public async Task <IHttpActionResult> ValidarDuplicados(BecarioExterno Obj) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); var exis = await _BecarioExternoRepo.ValidarDuplicados(Obj); return(Ok(exis)); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public async Task <IHttpActionResult> Update(BecarioExterno BecarioExterno) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _BecarioExternoRepo.Update(BecarioExterno); if (BecarioExterno.EstadoFlujoId == 3) { //await new NuevoOCRepository().Create( //new NuevoOC("MT", // "IBE", //BecarioExterno.Titulo, //"indexMT.html#/InformeBecariooDetails/" + BecarioExterno.BecarioExternoId // )); ////Agregar a OC await new NuevoOCRepository().Create( new NuevoOC("CH", "BecarioExterno", BecarioExterno.Titulo.Length <= 0 ? "Sin descripción" : BecarioExterno.Titulo, "IndexCH.html#/BecarioExternoDetails/" + BecarioExterno.BecarioExternoId + "/", BecarioExterno.BecarioExternoId + "" )); } return(Ok("Registro actualizado correctamente")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }