Esempio n. 1
0
        private bool validaContratoSisDetalle(eContratoSys contratoSis)
        {
            var filters = new Object[3] {
                0, 10000, "IDE_CONTRATO ASC"
            };
            var contratoDetSis = new CONTRATO_SIS_DET()
            {
                IDE_CONTRATO = Convert.ToInt32(contratoSis._ide_Contrato)
            };
            var listContratoSisDet = new nContratoSisDetalle().getlistContratoDetalle(contratoDetSis, filters, out total);
            var totalPorcenteje    = 0.00m;

            foreach (var item in listContratoSisDet)
            {
                totalPorcenteje += Convert.ToDecimal(item.PRC_PARTICIACION);
            }
            if (contratoSis._nro_empresa == listContratoSisDet.Count && Math.Round(totalPorcenteje) == 100)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public List <HCONTRATO_SIS_DET> getlistContratoDetalle(CONTRATO_SIS_DET contratoDetalle, object[] filterOptions, out int total)
        {
            var listDetalle = new List <HCONTRATO_SIS_DET>();

            try
            {
                var rowIndex = Int32.Parse(filterOptions[0].ToString());
                var rowEnd   = Int32.Parse(filterOptions[1].ToString());
                using (var db = new DISEntities())
                {
                    //total = db.CONTRATO_SIS_DETs.Where(a=>a.IDE_CONTRATO == contratoDetalle.IDE_CONTRATO).Count();
                    //var query = db.CONTRATO_SIS_DETs.Include("CONTRATO_SYS")
                    //    .Where(a => a.IDE_CONTRATO == contratoDetalle.IDE_CONTRATO)
                    //    .OrderBy(a => a.IDE_CONTRATO_DET).Skip(rowIndex).Take(rowEnd).ToList();
                    var query = (from a in db.CONTRATO_SIS_DETs
                                 join b in db.CONTRATO_SYSs on a.IDE_CONTRATO equals b.IDE_CONTRATO
                                 join c in db.CONCEPTOs on a.COD_CSV.ToString() equals c.CODIGO
                                 where
                                 a.IDE_CONTRATO == contratoDetalle.IDE_CONTRATO &&
                                 c.TIPO_TABLA.Equals("29")
                                 orderby a.NRO_ORDEN
                                 select new { a, b, c }).ToList();
                    total = query.Count;
                    foreach (var item in query)
                    {
                        var entity = new HCONTRATO_SIS_DET()
                        {
                            IDE_CONTRATO_DET = item.a.IDE_CONTRATO_DET,
                            IDE_CONTRATO     = item.a.IDE_CONTRATO,
                            COD_CSV          = item.a.COD_CSV,
                            PRC_PARTICIACION = item.a.PRC_PARTICIACION,
                            NRO_ORDEN        = item.a.NRO_ORDEN,
                            ESTADO           = item.a.ESTADO,
                            FEC_REG          = item.a.FEC_REG,
                            USU_REG          = item.a.USU_REG,
                            CONTRATO_SYS     = new CONTRATO_SYS()
                            {
                                DES_CONTRATO = item.b.DES_CONTRATO,
                                NRO_CONTRATO = item.b.NRO_CONTRATO,
                                NRO_EMPRESAS = item.b.NRO_EMPRESAS
                            },
                            nombreCompania = item.c.DESCRIPCION
                        };
                        listDetalle.Add(entity);
                    }
                }
                return(listDetalle);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 3
0
        public static object ContratoSisDetalleList(int jtStartIndex, int jtPageSize, string jtSorting, String WhereBy)
        {
            var contratoDetalle = new CONTRATO_SIS_DET()
            {
                IDE_CONTRATO = Convert.ToInt32(WhereBy.Trim())
            };
            var filterOptions = new Object[3] {
                jtStartIndex, jtPageSize, jtSorting
            };
            var listDetalle = new nContratoSisDetalle().getlistContratoDetalle(contratoDetalle, filterOptions, out total);

            return(new { Result = "OK", Records = listDetalle, TotalRecordCount = total });
        }
Esempio n. 4
0
        //Solo la suma de porcentajes
        private decimal sumPorcentaje(CONTRATO_SIS_DET contratoSisDetalle)
        {
            var filterOptions = new Object[3] {
                0, 10000, "IDE_CONTRATO ASC"
            };
            var listEmpresa    = new nContratoSisDetalle().getlistContratoDetalle(contratoSisDetalle, filterOptions, out total);
            var sumaPorcentaje = 0.00m;

            foreach (var item in listEmpresa)
            {
                sumaPorcentaje += Convert.ToDecimal(item.PRC_PARTICIACION);
            }
            return(sumaPorcentaje);
        }
 public Int32 setGuardarContratoDetalle(CONTRATO_SIS_DET det)
 {
     try
     {
         using (var db = new DISEntities())
         {
             db.CONTRATO_SIS_DETs.Add(det);
             db.SaveChanges();
             return(det.IDE_CONTRATO_DET);
         }
     }
     catch (Exception ex)
     {
         throw(new Exception(ex.Message));
     }
 }
Esempio n. 6
0
        private int verificarExisteCompaniaSeguro(CONTRATO_SIS_DET ContratoSisDetalle)
        {
            //seteas los filtros del procedure
            var filterOptions = new Object[3] {
                0, 10000, "IDE_CONTRATO ASC"
            };
            //llamas la clase de negocio contrato sisdetalle donde se encuentra el metodo de listar
            var listCompania = new nContratoSisDetalle().getlistContratoDetalle(ContratoSisDetalle, filterOptions, out total);
            // el metodo de listar trae todas los registros de contrato sis detalle de un  contrato seleccionado
            //declaras tu variable para buscar si el codigo de compania ya existe
            var existeCompania = listCompania.FindAll(a => a.COD_CSV == ContratoSisDetalle.COD_CSV);

            //esta variable va filtrar en esa lista atodos los registros cuyo COD_CSV coniceda con la que se selecciono en la panatalla
            //finalmente evaluas
            return(existeCompania.Count);
        }
Esempio n. 7
0
        private int verificarSiExisteNroOrden(CONTRATO_SIS_DET contratoSisDetalle)
        {
            var filterOptions = new Object[3] {
                0, 10000, "IDE_CONTRATO ASC"
            };
            var listEmpresa     = new nContratoSisDetalle().getlistContratoDetalle(contratoSisDetalle, filterOptions, out total);
            var listOrdenExiste = listEmpresa.FindAll(a => a.NRO_ORDEN == contratoSisDetalle.NRO_ORDEN);

            if (listOrdenExiste.Count > 0)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
Esempio n. 8
0
        private decimal verificarSumaTotalPorcentaje(CONTRATO_SIS_DET contratoSisDetalle)
        {
            var filterOptions = new Object[3] {
                0, 10000, "IDE_CONTRATO ASC"
            };
            var listEmpresa     = new nContratoSisDetalle().getlistContratoDetalle(contratoSisDetalle, filterOptions, out total);
            var sumaPorcentaje  = 0.00m;
            var eContratoSisDet = listEmpresa.Find(a => a.IDE_CONTRATO_DET == contratoSisDetalle.IDE_CONTRATO_DET);

            foreach (var item in listEmpresa)
            {
                sumaPorcentaje += Convert.ToDecimal(item.PRC_PARTICIACION);
            }
            var residuo = eContratoSisDet != null?Convert.ToDecimal(sumaPorcentaje - eContratoSisDet.PRC_PARTICIACION) : sumaPorcentaje;

            return(residuo + Convert.ToDecimal(contratoSisDetalle.PRC_PARTICIACION));
        }
        public Int32 setActualizarContratoDetalle(CONTRATO_SIS_DET det)
        {
            try
            {
                using (var db = new DISEntities())
                {
                    var entity = db.CONTRATO_SIS_DETs.Find(det.IDE_CONTRATO_DET);
                    entity.IDE_CONTRATO     = det.IDE_CONTRATO;
                    entity.NRO_ORDEN        = det.NRO_ORDEN;
                    entity.PRC_PARTICIACION = det.PRC_PARTICIACION;
                    entity.USU_MOD          = det.USU_MOD;
                    entity.FEC_MOD          = det.FEC_MOD;

                    return(db.SaveChanges());
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 10
0
        private int validaNumeroMaximoEmpresa(CONTRATO_SIS_DET ContratoSisDetalle)
        {
            var filterOptions = new Object[3] {
                0, 10000, "IDE_CONTRATO ASC"
            };
            var contratosis = new CONTRATO_SYS()
            {
                IDE_CONTRATO = Convert.ToInt32(ContratoSisDetalle.IDE_CONTRATO)
            };
            var nContratoSis     = new nContratoSis().listContratoByID(contratosis);
            var nContratoDetalle = new nContratoSisDetalle().getlistContratoDetalle(ContratoSisDetalle, filterOptions, out total);

            numero_empresa = Convert.ToInt32(nContratoSis.NRO_EMPRESAS);
            if (nContratoDetalle.Count == nContratoSis.NRO_EMPRESAS)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
Esempio n. 11
0
 public List <HCONTRATO_SIS_DET> getlistContratoDetalle(CONTRATO_SIS_DET contratoDetalle, object[] filterOptions, out int total)
 {
     return(new dContrato_sis_detalle().getlistContratoDetalle(contratoDetalle, filterOptions, out total));
 }
Esempio n. 12
0
 public Int32 setActualizarContratoDetalle(CONTRATO_SIS_DET det)
 {
     return(new dContrato_sis_detalle().setActualizarContratoDetalle(det));
 }
Esempio n. 13
0
        private void setInsertarActualizarContratoSisDetalle()
        {
            try
            {
                var ContratoSisDetalle = new CONTRATO_SIS_DET()
                {
                    IDE_CONTRATO_DET = Convert.ToInt32(txt_ide_contrato_sis_det.Value),
                    IDE_CONTRATO     = Convert.ToInt32(ddl_contrato_sis.SelectedItem.Value),
                    COD_CSV          = Convert.ToInt32(ddl_compania_seg_vida.SelectedItem.Value),
                    PRC_PARTICIACION = Convert.ToDecimal(txt_participacion_sis.Text),
                    NRO_ORDEN        = Convert.ToInt32(txt_orden_empresa_sis.Text),
                    ESTADO           = "A",
                    FEC_REG          = DateTime.Now,
                    FEC_MOD          = DateTime.Now,
                    USU_REG          = Session["username"].ToString(),
                    USU_MOD          = Session["username"].ToString()
                };

                if (ContratoSisDetalle.IDE_CONTRATO_DET == 0)
                {
                    //validar el numero maximo de empresas permitido

                    if (validaNumeroMaximoEmpresa(ContratoSisDetalle) == 1)
                    {
                        MessageBox("El número de máximo empresas CSV es de " + numero_empresa.ToString());
                        return;
                    }
                    //CREAR UN METODOD  RECIBE COMO PARAMETRO LA ENTIDAD DE CONTRATOSISDETALLE
                    //navegar al metodo con f12
                    //aki lo evaluasa si viene mayor a 0 , quere decir que si encontrato si no pasa.
                    if (verificarExisteCompaniaSeguro(ContratoSisDetalle) > 0)
                    {
                        MessageBox("La CSV " + ddl_compania_seg_vida.SelectedItem.Text + " ya esta en la lista : ");
                        return;
                    }
                    //listo termina la valadacion
                    if (verificarSiExisteNroOrden(ContratoSisDetalle) == 1)
                    {
                        MessageBox("El numero de orden ya existe.");
                        return;
                    }


                    if (verificarSumaTotalPorcentaje(ContratoSisDetalle) > 100.00m)
                    {
                        MessageBox("La suma de los porcentajes ingresados supera el limite maximo de 100");
                        return;
                    }
                    ;


                    // Validar que la suma de los % de participacion esten correctos
                    var valorPorc = sumPorcentaje(ContratoSisDetalle);
                    var restaRes  = 100 - valorPorc;

                    if (Math.Abs(restaRes) > 0.001m)
                    {
                        var resp = new nContratoSisDetalle().setGuardarContratoDetalle(ContratoSisDetalle);
                        nlog.setLLenarEntidad(Convert.ToInt32(ContratoSisDetalle.IDE_CONTRATO), "I", "I02", resp.ToString(), Session["username"].ToString(), "ContratoSisDetalle");
                        MessageBox("Registro  grabado corretamente");
                    }
                    else
                    {
                        MessageBox("La suma de los porcentajes parciales no es equivalente al 100%");
                        return;
                    }
                }
                else
                {
                    if (verificarSumaTotalPorcentaje(ContratoSisDetalle) > 100.00m)
                    {
                        MessageBox("La suma de los porcentajes ingresados supera el limite maximo de 100");
                        return;
                    }
                    else
                    {
                        var resp = new nContratoSisDetalle().setActualizarContratoDetalle(ContratoSisDetalle);
                        nlog.setLLenarEntidad(Convert.ToInt32(ContratoSisDetalle.IDE_CONTRATO), "A", "A05", ContratoSisDetalle.IDE_CONTRATO_DET.ToString(), Session["username"].ToString(), "ContratoSisDetalle");
                        MessageBox(resp + " Registro actualizado corretamente");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox("Ocurrio el siguiente error : " + ex.Message.ToString());
            }
        }