Пример #1
0
        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);
            }
        }
Пример #2
0
 public async Task Create(BecarioExterno model)
 {
     try
     {
         _db.BecarioExterno.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
Пример #3
0
        /// 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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
                                                            [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)); }
                                                            }
Пример #7
0
                                                            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));
                                                                }
                                                            }
Пример #8
0
                                                            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)); }
                                                            }