コード例 #1
0
        /// <summary>
        /// Crea un registro
        /// </summary>
        /// <param name="modulo">modulo en el cual se va a registrar la notificacion</param>
        /// <param name="idOC">Id del registro</param>
        /// <param name="nombreOC">Nombre del registro</param>
        /// <param name="url">Url del detalle del registro</param>
        /// <param name="idExterno">Opcional: un identificador para relacionar los registros</param>
        /// <returns></returns>
        public async Task Create(string modulo, string idOC, string nombreOC, string url, string idExterno)
        {
            try
            {
                NuevoOC model = new NuevoOC(modulo, idOC, nombreOC, url, idExterno);

                var previo = 0;
                try
                {
                    var cant = await _db.dbSetNuevoOC.AsNoTracking()
                               .Where(x => x.liga.Equals(model.liga))
                               .GroupBy(p => p.liga)
                               .Select(g => new { liga = g.Key, count = g.Count() })
                               .FirstOrDefaultAsync();

                    if (cant != null)
                    {
                        previo = cant.count;
                    }
                    if (previo > 0)
                    {
                        return;
                    }
                }
                catch (Exception x) {
                }
                _db.dbSetNuevoOC.Add(model);
                await _db.SaveChangesAsync();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #2
0
        public async Task Create(Comunidad model)
        {
            try
            {
                var entities = _db.DbSetComunidades.Add(model);
                await _db.SaveChangesAsync();

                var id = entities.ComunidadId;

                NuevoOCRepository oc = new NuevoOCRepository();
                //Los parametros son modulo, id del oc, descripcion, liga del detalle del oc
                NuevoOC nuevoOC = new NuevoOC("CP", "CP", model.Descripcion, "indexCP.html#/homeComunidad/" + model.ComunidadId);
                await oc.Create(nuevoOC);

                Miembros lider = new Miembros();
                lider.Aceptacion      = false;
                lider.FechaAlta       = DateTime.Now;
                lider.FechaAceptacion = DateTime.Now;
                lider.idPersonas      = model.claveLider;
                lider.rolId           = model.claveRolLider;
                lider.idCP            = id;
                lider.nombrePersona   = model.nombreLider;
                lider.estado          = true;


                _db.DbSetMiembros.Add(lider);
                await _db.SaveChangesAsync();


                Miembros secretario = new Miembros();
                secretario.Aceptacion      = false;
                secretario.FechaAlta       = DateTime.Now;
                secretario.FechaAceptacion = DateTime.Now;
                secretario.idPersonas      = model.claveSecretario;
                secretario.rolId           = model.claveRolSecretario;
                secretario.idCP            = id;
                secretario.nombrePersona   = model.nombreSecretario;
                secretario.estado          = true;

                _db.DbSetMiembros.Add(secretario);
                await _db.SaveChangesAsync();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #3
0
        public async Task Update(NuevoOC model)
        {
            try
            {
                var _model = await _db.dbSetNuevoOC.FirstOrDefaultAsync(e => e.NuevoOCId == model.NuevoOCId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #4
0
        /// <summary>
        /// Crea un lineamiento
        /// </summary>
        /// <param name="Lineamientos">objeto con los datos para crear</param>
        public async Task Create(Lineamientos model)
        {
            try
            {
                var registro = _db.DbSetLineamientos.Add(model);
                await _db.SaveChangesAsync();

                NuevoOCRepository ocrepo = new NuevoOCRepository();
                //Los parametros son: moduloid, id del oc (en este caso son strings), descripcion, liga del detalle del oc
                NuevoOC nuevoOC = new NuevoOC("CP", "LineamientosCP", registro.Nombre, "indexCP.html#/consultaLineamientos/");
                await ocrepo.Create(nuevoOC);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #5
0
                                                     public async Task <IHttpActionResult> Update([FromBody] NuevoOC model)
                                                     {
                                                         if (!ModelState.IsValid)
                                                         {
                                                             return(BadRequest(ModelState));
                                                         }

                                                         try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                               await _entityRepo.Update(model);

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