예제 #1
0
        //------------------------------------

        public async Task LlenaDomDet(List <DominioDet> lista, int pais_id, int dominio, short codigo, string descripcion, string descri_corta, int signo, int ent1, int ent2)
        {
            long Id = BuildId(pais_id, dominio, codigo);

            if (ExisteEnLista(lista, Id))
            {
                return;
            }

            if (await ExisteEnBD(Id) == true)
            {
                return;
            }

            DominioDet dominioDet = new DominioDet
            {
                dominio_det_id = Id,
                codigo         = codigo,
                descripcion    = descripcion,
                dominio_id     = dominio,
                pais_id        = pais_id,
                descrip_corta  = descri_corta,
                signo          = signo,
                entero1        = ent1,
                entero2        = ent2
            };

            lista.Add(dominioDet);

            return;
        }
예제 #2
0
        public async Task <IActionResult> PostDominioDet([FromBody] DominioDet dominioDet)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var agregar = await _servicioDominioDet.Add(dominioDet);

            return(Ok(agregar));
        }
예제 #3
0
        public async Task <IActionResult> PutDominioDet([FromBody] DominioDet dominioDet)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var actualizar = await _servicioDominioDet.Update(dominioDet);

            return(Ok(actualizar));
        }
예제 #4
0
        //------------------------------------

        public async Task <DominioDet> Update(DominioDet model)
        {
            var actualizar = await _context.DominioDets.FindAsync(model.dominio_det_id);

            if (actualizar == null)
            {
                throw new Exception("Registro no encontrado");
            }

            var registro = await _context.DominioDets.FirstOrDefaultAsync(x =>
                                                                          x.descripcion == model.descripcion &&
                                                                          x.dominio_det_id != model.dominio_det_id &&
                                                                          x.dominio_id == model.dominio_id &&
                                                                          x.pais_id == model.pais_id);

            if (registro != null)
            {
                throw new Exception("La descripcion ya existe en otro id en el mismo dominio");
            }

            var registro2 = await _context.DominioDets.FirstOrDefaultAsync(x =>
                                                                           x.codigo == model.codigo &&
                                                                           x.dominio_det_id != model.dominio_det_id &&
                                                                           x.dominio_id == model.dominio_id &&
                                                                           x.pais_id == model.pais_id);

            if (registro2 != null)
            {
                throw new Exception("El codigo ya existe en otro id en el mismo dominio");
            }

            actualizar.codigo        = model.codigo;
            actualizar.descripcion   = model.descripcion;
            actualizar.dominio_id    = model.dominio_id;
            actualizar.pais_id       = model.pais_id;
            actualizar.descrip_corta = model.descrip_corta;
            actualizar.signo         = model.signo;
            actualizar.entero1       = model.entero1;
            actualizar.entero2       = model.entero2;

            _context.DominioDets.Update(actualizar);
            await _context.SaveChangesAsync();

            return(actualizar);
        }
예제 #5
0
        //----------------------------------------------------------------------

        public async Task <DominioDet> Add(DominioDet model)
        {
            var buscar = await _context.DominioDets.FindAsync(model.dominio_det_id);

            if (buscar != null)
            {
                throw new Exception("El id ya existe");
            }

            var registro = await _context.DominioDets.FirstOrDefaultAsync(x =>
                                                                          x.descripcion == model.descripcion &&
                                                                          x.dominio_det_id != model.dominio_det_id &&
                                                                          x.dominio_id == model.dominio_id &&
                                                                          x.pais_id == model.pais_id);

            if (registro != null)
            {
                throw new Exception("La descripcion ya existe en otro id en el mismo dominio");
            }

            var registro2 = await _context.DominioDets.FirstOrDefaultAsync(x =>
                                                                           x.codigo == model.codigo &&
                                                                           x.dominio_det_id != model.dominio_det_id &&
                                                                           x.dominio_id == model.dominio_id &&
                                                                           x.pais_id == model.pais_id);

            if (registro2 != null)
            {
                throw new Exception("El codigo ya existe en otro id en el mismo dominio");
            }

            _context.DominioDets.Add(model);
            await _context.SaveChangesAsync();

            return(model);
        }