Exemplo n.º 1
0
        //------------FUNCIONES DE CREAR
        public static bool Add_Normas_Sucursal(String[] valores)
        {
            GrupoLiEntities contexto = new GrupoLiEntities();

            #region insertar normas generales
            List <norma> normasGeneral = Get_Norma(0, "General");

            foreach (var item in normasGeneral)
            {
                norma_sucursal nuevo = new norma_sucursal()
                {
                    id_sucursal   = Convert.ToInt32(valores[3]),
                    id_normas     = item.id_normas,
                    estatus_norma = 0
                };
                contexto.norma_sucursal.Add(nuevo);
            }
            #endregion

            #region insertar normas jurisprudencia y especifica
            List <norma_claseciiu> ListaNormas = new List <norma_claseciiu>();

            int act1 = Convert.ToInt32(valores[0]);
            int act2 = Convert.ToInt32(valores[1]);
            int act3 = Convert.ToInt32(valores[2]);

            ListaNormas = contexto.norma_claseciiu.Where(x =>
                                                         x.id_clase_ciiu == act1 ||
                                                         x.id_clase_ciiu == act2 ||
                                                         x.id_clase_ciiu == act3
                                                         ).ToList();

            var distinctList = ListaNormas
                               .GroupBy(x => new { x.norma.documento, x.norma.anho, x.norma.articulo, x.norma.literal })
                               .Select(g => g.First()).ToList();

            foreach (var item in distinctList)
            {
                norma_sucursal nuevo = new norma_sucursal()
                {
                    id_sucursal   = Convert.ToInt32(valores[3]),
                    id_normas     = item.id_normas,
                    estatus_norma = 0
                };
                contexto.norma_sucursal.Add(nuevo);
            }
            #endregion

            try
            {
                contexto.SaveChanges();
            }
            catch
            {
                Mgr_Sucursal.Delete_Sucursal(Convert.ToInt32(valores[3]));
                return(false);
            }

            return(true);
        }
        protected void GuardarRegistro(object sender, EventArgs e)
        {
            GrupoLiEntities contextoMedida;

            #region actualizar estatus medida
            foreach (ListItem itemActual in chkMedidas.Items)
            {
                contextoMedida = new GrupoLiEntities();
                int id_Medida     = Convert.ToInt32(itemActual.Value);
                int EstatusMedida = 0;

                if (itemActual.Selected == true)
                {
                    EstatusMedida = 1;
                }
                if (itemActual.Selected == false)
                {
                    EstatusMedida = 0;
                }

                medida_sucursal EditMedida = contextoMedida.medida_sucursal.SingleOrDefault(x => x.id_medidas_sucursal == id_Medida);

                if (EditMedida != null)
                {
                    EditMedida.estatus_medida = EstatusMedida;
                }

                ObjUsuario.Error = CRUD.Edit_Fila(contextoMedida);
            }
            #endregion


            int contAplica = 0;

            #region actualizar aplica
            foreach (ListItem itemActual in chkAplica.Items)
            {
                contextoMedida = new GrupoLiEntities();
                int             id_Medida  = Convert.ToInt32(itemActual.Value);
                medida_sucursal EditMedida = contextoMedida.medida_sucursal.SingleOrDefault(x => x.id_medidas_sucursal == id_Medida);

                if (itemActual.Selected == true)
                {
                    if (EditMedida != null)
                    {
                        EditMedida.aplica         = 0;
                        EditMedida.estatus_medida = 1;
                    }
                    contAplica++;
                }
                else if (itemActual.Selected == false)
                {
                    if (EditMedida != null)
                    {
                        EditMedida.aplica = 1;
                    }
                }

                ObjUsuario.Error = CRUD.Edit_Fila(contextoMedida);                //NO
            }
            #endregion


            int contMedidasTotal   = 0;
            int contMedidasAplican = 0;

            CargarMedidas();

            #region  actualizar estatus norma

            contMedidasTotal   = chkMedidas.Items.Count;
            contMedidasAplican = contMedidasTotal - contAplica;
            int contMedidasSelec = 0;

            foreach (ListItem itemActual in chkMedidas.Items)
            {
                if (itemActual.Selected == true)
                {
                    contMedidasSelec++;
                }
            }

            Double porcentaje_medidas = 1.11;
            Double estatus            = 0.0;
            if (contMedidasAplican == 0)
            {
                estatus = 100;
            }
            else
            {
                porcentaje_medidas = Math.Round(Convert.ToDouble((100 / (contMedidasAplican))), 2);
                estatus            = (contMedidasSelec - contAplica) * porcentaje_medidas;
                estatus            = Math.Round(Convert.ToDouble(estatus), 0);
            }

            lbestatus.Text = string.Empty + estatus;

            GrupoLiEntities contexto    = new GrupoLiEntities();
            int             id_Sucursal = Convert.ToInt32(IdSucursal);
            int             id_Norma    = Convert.ToInt32(idNorma);
            norma_sucursal  Edit        = contexto.norma_sucursal.SingleOrDefault(x => x.id_sucursal == id_Sucursal && x.id_normas == id_Norma);

            if (Edit != null)
            {
                Edit.estatus_norma = Convert.ToInt32(estatus);
            }

            ObjUsuario.Error = CRUD.Edit_Fila(contexto);

            #endregion
        }