Пример #1
0
        public ActionResult Create(string id, [Bind(Include = "VARClave,VAVClave,Descripcion,Estatus,MFechaHora,MUsuarioId")] VARValor valor)
        {
            ValorReferencia valorReferencia = db.ValorReferencia.Find(id);

            valor.MFechaHora = DateTime.Now;
            valor.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
            if (ModelState.IsValid)
            {
                db.VARValor.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.";
            }
            else
            {
                TempData["MensajeClase"] = "alert-danger";
                TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
            }

            return(PartialView("_Valores", valorReferencia));
        }
Пример #2
0
        public ActionResult Create(Usuario usuario)
        {
            usuario.UsuarioPerfil.First().MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
            usuario.UsuarioPerfil.First().MFechaHora = DateTime.Now;
            usuario.MFechaHora = DateTime.Now;
            usuario.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;

            if (ModelState.IsValid)
            {
                if (db.Usuario.Where(u => u.Usuario1.Equals(usuario.Usuario1)).Count() == 0)
                {
                    db.Usuario.Add(usuario);
                    db.SaveChanges();
                    Metodos.RegistrarLog(new Log
                    {
                        Modulo  = "Usuarios",
                        Accion  = "Insertar",
                        Detalle = "Usuario insertado: " + usuario.Usuario1
                    });
                    TempData["MensajeClase"] = "alert-success";
                    TempData["Mensaje"]      = "Cambios guardados correctamente.";
                    return(Json(true));
                }
                else
                {
                    TempData["MensajeClase"] = "alert-danger";
                    TempData["Mensaje"]      = "El usuario que intenta registrar ya se encuentra registrado.";
                    return(Json(false));
                }
            }
            TempData["MensajeClase"] = "alert-danger";
            TempData["Mensaje"]      = "Hubo un error al intentar guardar los cambios, porfavor intente nuevamente.";
            return(Json(false));
        }
Пример #3
0
        public ActionResult Create(Perfil perfil)
        {
            perfil.ModuloPerfil.ToList().ForEach(p => {
                p.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
                p.MFechaHora = DateTime.Now;
            });
            perfil.MFechaHora = DateTime.Now;
            perfil.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;

            if (ModelState.IsValid)
            {
                db.Perfil.Add(perfil);
                db.SaveChanges();
                Metodos.RegistrarLog(new Log
                {
                    Modulo  = "Perfiles",
                    Accion  = "Insertar",
                    Detalle = "Perfil insertado: " + perfil.Descripcion
                });
                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));
        }
Пример #4
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));
        }
Пример #5
0
        public static bool RegistrarLog(Log log)
        {
            log.MUsuarioId = log.MUsuarioId == null ? HttpContext.Current.User.Identity.Name : log.MUsuarioId;
            log.MFechaHora = DateTime.Now;
            ICAEntities db = new ICAEntities();

            db.Log.Add(log);
            db.SaveChanges();
            return(true);
        }
Пример #6
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));
        }
Пример #7
0
 public ActionResult Create(TipoProducto tipoProducto)
 {
     if (ModelState.IsValid)
     {
         tipoProducto.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
         tipoProducto.MFechaHora = DateTime.Now;
         db.TipoProducto.Add(tipoProducto);
         db.SaveChanges();
         Metodos.RegistrarLog(new Log
         {
             Modulo  = "TipoProducto",
             Accion  = "Insertar",
             Detalle = "Tipo insertado: " + 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));
 }
Пример #8
0
 //[HttpPost]
 //[ValidateAntiForgeryToken]
 //[VerificarPerfil((int)Utilities.Utilities.Modulos.Articulos, "Actualizar")]
 public ActionResult EditRC(RangoCriterio rangocriterio)
 {
     if (ModelState.IsValid)
     {
         rangocriterio.MUsuarioId      = System.Web.HttpContext.Current.User.Identity.Name;
         rangocriterio.MFechaHora      = DateTime.Now;
         db.Entry(rangocriterio).State = EntityState.Modified;
         db.SaveChanges();
         Metodos.RegistrarLog(new Log
         {
             Modulo  = "RangoCriterio",
             Accion  = "Actualizar",
             Detalle = "Rango Criterio modificado: RNGId:" + rangocriterio.RNGId,
         });
         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));
 }
Пример #9
0
        public ActionResult Create(Formula formula)
        {
            formula.MFechaHora = DateTime.Now;
            formula.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;

            if (ModelState.IsValid)
            {
                db.Formula.Add(formula);
                db.SaveChanges();
                Metodos.RegistrarLog(new Log
                {
                    Modulo  = "Formula",
                    Accion  = "Insertar",
                    Detalle = "Formula insertado: " + formula.Descripcion
                });
                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));
        }
Пример #10
0
        public ActionResult Create(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.MUsuarioId = System.Web.HttpContext.Current.User.Identity.Name;
                    criterio.MFechaHora = DateTime.Now;
                    db.Criterio.Add(criterio);
                    db.SaveChanges();
                    Metodos.RegistrarLog(new Log
                    {
                        Modulo  = "Criterios",
                        Accion  = "Insertar",
                        Detalle = "Criterio insertado: " + criterio.Nombre
                    });
                    if (!string.IsNullOrEmpty(criterio.ValorReferencia))
                    {
                        ValorReferencia valor = new ValorReferencia
                        {
                            VARClave    = criterio.ValorReferencia,
                            Modificable = 1,
                            Descripcion = criterio.ValorReferencia,
                            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));
        }
Пример #11
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));
        }
Пример #12
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 }));
        }