Esempio n. 1
0
 public ActionResult Edit(Perfil perfil)
 {
     if (ModelState.IsValid)
     {
         perfil.MFechaHora = DateTime.Now;
         perfil.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
         perfil.ModuloPerfil.ToList().ForEach(p => {
             p.MFechaHora = DateTime.Now;
             p.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
             var modper   = db.ModuloPerfil.Where(mp => mp.PERId == p.PERId && mp.MODId == p.MODId).Any();
             if (modper)
             {
                 db.Entry(p).State = System.Data.Entity.EntityState.Modified;
             }
             else
             {
                 db.ModuloPerfil.Add(p);
             }
         });
         db.Entry(perfil).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         Metodos.RegistrarLog(new Log
         {
             Modulo  = "Perfiles",
             Accion  = "Actualizar",
             Detalle = "Perfil modificado: " + perfil.Descripcion + " " + perfil.Estatus
         });
         TempData["MensajeClase"] = "alert-success";
         TempData["Mensaje"]      = "Cambios guardados correctamente.";
         return(Json(true));
     }
     TempData["MensajeClase"] = "alert-danger";
     TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
     return(Json(false));
 }
Esempio n. 2
0
        public ActionResult Edit(Criterio criterio)
        {
            if (ModelState.IsValid)
            {
                if ((criterio.Condicionante == true && criterio.CRTId_Cond != null) || criterio.Condicionante == false)
                {
                    if (criterio.Condicionante == false)
                    {
                        criterio.CRTId_Cond = null;
                    }
                    criterio.MFechaHora      = DateTime.Now;
                    criterio.MUsuarioId      = System.Web.HttpContext.Current.User.Identity.Name;
                    db.Entry(criterio).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    Metodos.RegistrarLog(new Log
                    {
                        Modulo  = "Criterios",
                        Accion  = "Actualizar",
                        Detalle = "Criterio modificado: " + criterio.Nombre + " " + criterio.Estatus
                    });
                    if (!string.IsNullOrEmpty(criterio.ValorReferencia))
                    {
                        var existe = db.ValorReferencia.Where(va => va.VARClave.Equals(criterio.ValorReferencia)).Count();
                        if (existe == 0)
                        {
                            ValorReferencia valor = new ValorReferencia
                            {
                                VARClave    = criterio.ValorReferencia,
                                Modificable = 1,
                                MFechaHora  = DateTime.Now,
                                MUsuarioId  = System.Web.HttpContext.Current.User.Identity.Name
                            };

                            db.ValorReferencia.Add(valor);
                            db.SaveChanges();
                            Metodos.RegistrarLog(new Log
                            {
                                Modulo  = "ValorReferencia",
                                Accion  = "Insertar",
                                Detalle = "ValorCreado: " + valor.VARClave + " " + valor.Descripcion
                            });
                        }
                    }
                    TempData["MensajeClase"] = "alert-success";
                    TempData["Mensaje"]      = "Cambios guardados correctamente.";
                    return(Json(true));
                }
                else
                {
                    TempData["MensajeClase"] = "alert-danger";
                    TempData["Mensaje"]      = "Seleccione el criterio condicionante";
                    return(Json(false));
                }
            }
            TempData["MensajeClase"] = "alert-danger";
            TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
            return(Json(false));
        }
Esempio n. 3
0
        public ActionResult Evaluaciones(Evaluacion[] evaluaciones)
        {
            try
            {
                foreach (var ev in evaluaciones)
                {
                    var temp = db.Evaluacion.Find(ev.EVAId);
                    if (temp != null)
                    {
                        temp.Estatus     = ev.Estatus;
                        temp.FechaInicio = ev.FechaInicio;
                        temp.FechaFin    = ev.FechaFin;
                        temp.MFechaHora  = DateTime.Now;
                        temp.MUsuarioId  = ev.MUsuarioId;
                    }

                    db.Entry(temp).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    Metodos.RegistrarLog(new Log
                    {
                        Modulo  = "Evaluaciones",
                        Accion  = "Actualizar",
                        Detalle = "Evaluacion modificado: " + temp.EVAId + " " + temp.Estatus
                    });
                }
            }
            catch (Exception e)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }


            return(Json(true, JsonRequestBehavior.AllowGet));
        }
Esempio n. 4
0
        public ActionResult Edit(string id, [Bind(Include = "VARClave,VAVClave,Descripcion,Estatus,MFechaHora,MUsuarioId")] VARValor valor)
        {
            valor.MFechaHora = DateTime.Now;
            valor.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
            if (ModelState.IsValid)
            {
                db.Entry(valor).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                Metodos.RegistrarLog(new Log
                {
                    Modulo  = "ValorReferencia",
                    Accion  = "Actualizar",
                    Detalle = "ValorModificado: " + valor.VARClave + " " + valor.Descripcion
                });
                TempData["MensajeClase"] = "alert-success";
                TempData["Mensaje"]      = "Cambios guardados correctamente.";
            }
            else
            {
                TempData["MensajeClase"] = "alert-danger";
                TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
            }
            ValorReferencia valorReferencia = db.ValorReferencia.Find(id);

            return(PartialView("_Valores", valorReferencia));
        }
Esempio n. 5
0
        public ActionResult EliminarCriterioEquipo(int EQPId, int CRTId)
        {
            EquipoCriterio criterio = db.EquipoCriterio.Find(EQPId, CRTId);

            if (criterio == null)
            {
                TempData["MensajeClase"] = "alert-danger";
                TempData["Mensaje"]      = "Criterio no encontrado";
                return(Json(false));
            }
            var evaluaciones = db.EvEquipo.Where(e => e.EQPId.Equals(EQPId)).Where(e => e.CRTId.Equals(CRTId));

            if (evaluaciones.Count() > 0)
            {
                criterio.Estatus         = Utilities.Utilities.Estatus()["Inactivo"];
                criterio.MFechaHora      = DateTime.Now;
                criterio.MUsuarioId      = System.Web.HttpContext.Current.User.Identity.Name;
                db.Entry(criterio).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                Metodos.RegistrarLog(new Log
                {
                    Modulo  = "Asignacion Criterios Equipos",
                    Accion  = "Actualizar",
                    Detalle = "Criterio modificado: " + criterio.EQPId + " " + criterio.CRTId + " " + criterio.Estatus
                });
                TempData["MensajeClase"] = "alert-danger";
                TempData["Mensaje"]      = "El registro no puede ser eliminado, ya que se encuentra asociado a otros registros";
                return(Json(false));
            }

            db.EquipoCriterio.Remove(criterio);
            db.SaveChanges();
            Metodos.RegistrarLog(new Log
            {
                Modulo  = "Asignacion Criterios Equipos",
                Accion  = "Borrar",
                Detalle = "Criterio borrado: " + criterio.EQPId + " " + criterio.CRTId
            });
            TempData["MensajeClase"] = "alert-success";
            TempData["Mensaje"]      = "Registro eliminado con éxito.";
            return(Json(true));
        }
Esempio n. 6
0
 public ActionResult Edit(TipoProducto tipoProducto)
 {
     if (ModelState.IsValid)
     {
         tipoProducto.MFechaHora      = DateTime.Now;
         tipoProducto.MUsuarioId      = System.Web.HttpContext.Current.User.Identity.Name;
         db.Entry(tipoProducto).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         Metodos.RegistrarLog(new Log
         {
             Modulo  = "TipoProducto",
             Accion  = "Actualizar",
             Detalle = "TipoProducto modificado: " + tipoProducto.Producto
         });
         TempData["MensajeClase"] = "alert-success";
         TempData["Mensaje"]      = "Cambios guardados correctamente.";
         return(Json(true));
     }
     TempData["MensajeClase"] = "alert-danger";
     TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
     return(Json(false));
 }
Esempio n. 7
0
 public ActionResult Edit(Usuario usuario, UsuarioPerfil perfil)
 {
     usuario.MFechaHora = DateTime.Now;
     usuario.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
     perfil.MFechaHora  = DateTime.Now;
     perfil.MUsuarioId  = System.Web.HttpContext.Current.User.Identity.Name;
     perfil.Estatus     = "A";
     if (ModelState.IsValid)
     {
         db.Entry(usuario).State = EntityState.Modified;
         db.SaveChanges();
         var usuper = db.UsuarioPerfil.Where(up => up.PERId == perfil.PERId && up.Usuario == perfil.Usuario).Any();
         if (usuper)
         {
             db.Entry(perfil).State = EntityState.Modified;
         }
         else
         {
             db.Entry(db.UsuarioPerfil.Where(up => up.Usuario == perfil.Usuario).First()).State = EntityState.Deleted;
             db.UsuarioPerfil.Add(perfil);
         }
         db.SaveChanges();
         Metodos.RegistrarLog(new Log
         {
             Modulo  = "Usuarios",
             Accion  = "Actualizar",
             Detalle = "Usuario modificado: " + usuario.Usuario1
         });
         TempData["MensajeClase"] = "alert-success";
         TempData["Mensaje"]      = "Cambios guardados correctamente.";
         return(Json(true));
     }
     TempData["MensajeClase"] = "alert-danger";
     TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
     return(Json(true));
 }
Esempio n. 8
0
        public ActionResult Edit(ParametroMuestra[] parametros)
        {
            double p = 0, a = 0;

            foreach (var item in parametros)
            {
                ParametroMuestra parametro = db.ParametroMuestra.Find(item.PAMId);
                if (parametro.Parametro == "a")
                {
                    a = item.Valor;
                }
                if (parametro.Parametro == "p")
                {
                    p = item.Valor;
                }
                if (parametro.Parametro == "q")
                {
                    item.Valor = 100 - p;
                }
                if (parametro.Parametro == "Za")
                {
                    var    chart = new Chart();
                    double temp  = (100 - 0.5 * (100 - a)) / 100;
                    item.Valor = Math.Floor((chart.DataManipulator.Statistics.InverseNormalDistribution(temp)) * 100) / 100;
                }

                if (parametro.Valor != item.Valor)
                {
                    parametro.Valor           = item.Valor;
                    parametro.MFechaHora      = DateTime.Now;
                    parametro.MUsuarioId      = System.Web.HttpContext.Current.User.Identity.Name;
                    db.Entry(parametro).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    Metodos.RegistrarLog(new Log
                    {
                        Modulo  = "ParametrosMuestra",
                        Accion  = "Actualizar",
                        Detalle = "Parametro modificado: " + parametro.Descripcion + " " + parametro.Valor
                    });
                }
            }
            TempData["MensajeClase"] = "alert-success";
            TempData["Mensaje"]      = "Cambios guardados correctamente.";
            return(Json(true));
        }
Esempio n. 9
0
        public ActionResult Crear(int anio, int mes)
        {
            //Verificar que no exista esa programacion
            var existe = db.Programacion.Where(p => p.Mes == mes && p.Anio == anio).ToList();

            if (existe.Count == 0)
            {
                ValorReferencia valorReferencia = db.ValorReferencia.Find("PARAMETROS");
                var             dias            = int.Parse(valorReferencia.VARValor.Where(v => v.VAVClave == "DIASPROG").FirstOrDefault().Descripcion);

                //Crear programacion
                DateTime fechaMes            = new DateTime(anio, mes, 1);
                DateTime fechaRangoPermitido = fechaMes.AddDays(-dias);
                DateTime hoy = DateTime.Today;
                if (hoy > fechaRangoPermitido || hoy.Month == fechaMes.Month)
                {
                    string[] meses = new string[] { "ENE", "FEB", "MAR", "ABR", "MAY", "JUN", "JUL", "AGO", "SEP", "OCT", "NOV", "DIC" };
                    var      prog  = guardarProgramacion(meses[mes - 1] + anio.ToString(), mes, anio);


                    var responseZonas = Metodos.PeticionICA("subzonas", null);
                    var subzonas      = Metodos.convertirStringASubzona(responseZonas);

                    var responseTienda = Metodos.PeticionICA("tienda", null);
                    var tiendas        = Metodos.convertirStringATiendaZona(responseTienda);

                    int[] tiendasEnZonas     = new int[subzonas.Count() + 1];
                    int[] m1                 = new int[subzonas.Count() + 1], m2 = new int[subzonas.Count() + 1], m3 = new int[subzonas.Count() + 1];
                    int   totalTiendasGlobal = tiendas.Count();
                    int   muestraGlobal      = obtenerCantidadMuestra(totalTiendasGlobal);
                    List <MuestraZona> muestrasZonasDecimales = new List <MuestraZona>();
                    int acumuladoMuestrasZonas = 0;

                    //Contabiliza las tiendas por zona
                    foreach (var tienda in tiendas)
                    {
                        tiendasEnZonas[tienda.ClaveSubzona]++;
                    }

                    //Calcula la cantidad de muestra por zona
                    for (int i = 1; i < tiendasEnZonas.Length; i++)
                    {
                        double muestra = obtenerCantidadMuestraPorZona(tiendasEnZonas[i], muestraGlobal, totalTiendasGlobal);
                        var    temp    = new MuestraZona
                        {
                            Zona = i,
                            muestraSinRedondear = muestra,
                            muestraRedondeada   = int.Parse(Math.Round(muestra).ToString()),
                            decimales           = muestra - Math.Truncate(muestra),
                            tiendas             = tiendasEnZonas[i]
                        };
                        muestrasZonasDecimales.Add(temp);
                        acumuladoMuestrasZonas += temp.muestraRedondeada;
                    }

                    //Obtiene la diferencia si es que hay que realizar ajuste
                    int  diferencia        = ajustarMuestras(muestraGlobal, acumuladoMuestrasZonas, ref muestrasZonasDecimales);
                    int  contador          = 0;
                    bool ajusteHaciaArriba = false;
                    if (muestraGlobal > acumuladoMuestrasZonas)
                    {
                        ajusteHaciaArriba = true;
                    }

                    foreach (var item in muestrasZonasDecimales)
                    {
                        //Si se debe realizar ajuste lo realiza
                        if (contador < diferencia)
                        {
                            if (ajusteHaciaArriba == true && item.decimales < 0.5)
                            {
                                item.muestraRedondeada = item.muestraRedondeada + 1;
                                contador++;
                            }
                            else if (ajusteHaciaArriba == false && item.decimales > 0.5)
                            {
                                item.muestraRedondeada = item.muestraRedondeada - 1;
                                contador++;
                            }
                        }

                        var pz = guardarProgramacionZona(prog, item.Zona.ToString(), item.tiendas, item.muestraRedondeada);
                    }

                    //Calcula las tiendas por mes segun la muestra de la zona
                    for (int i = 1; i < subzonas.Count() + 1; i++)
                    {
                        var zona = muestrasZonasDecimales.Where(z => z.Zona == i).FirstOrDefault();
                        m1[i] = int.Parse(Math.Round(Double.Parse(zona.muestraRedondeada.ToString()) / 3).ToString());
                        if (zona.muestraRedondeada - m1[i] > m1[i])
                        {
                            m2[i] = m1[i];
                            m3[i] = zona.muestraRedondeada - (m1[i] + m2[i]);
                        }
                        else
                        {
                            m2[i] = zona.muestraRedondeada - m1[i];
                            m3[i] = 0;
                        }
                        if (zona.muestraRedondeada - m1[i] == 0)
                        {
                            m2[i] = 0;
                            m3[i] = 0;
                        }
                    }

                    var mes1     = fechaMes.AddMonths(-1);
                    var mes2     = fechaMes.AddMonths(-2);
                    var mes3     = fechaMes.AddMonths(-3);
                    var faltante = 0;

                    //Genera las evaluaciones por mes de cada zona
                    for (int i = 1; i < subzonas.Count() + 1; i++)
                    {
                        faltante = generarMuestrasPorMes(mes1, m1, anio, i, prog, 0);
                        faltante = generarMuestrasPorMes(mes2, m2, anio, i, prog, faltante);
                        faltante = generarMuestrasPorMes(mes3, m3, anio, i, prog, faltante);
                        var pz = db.ProgramacionZona.Find(prog.PROId, i.ToString());
                        pz.Real            = pz.Requerido - faltante;
                        db.Entry(pz).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                    }

                    return(Json(new { estatus = true }));
                }
                return(Json(new { estatus = false, dias = dias }));
            }
            return(Json(new { estatus = false }));
        }