예제 #1
0
        public ActionResult GuardarCambios(string function_param)
        {
            VIAModel db = new VIAModel();
            var operadores = from u in db.local_usuarios where u.Local_Departamentos.departamento.Equals("Call Center") && u.admin == false select u;

            if (function_param != null)
            {

                List<Local_Eventos_Calendario> eventos = (List<Local_Eventos_Calendario>)Newtonsoft.Json.JsonConvert.DeserializeObject(function_param, typeof(List<Local_Eventos_Calendario>));

                ViewBag.permiso = true;

                //determinando tipo de evento por color
                foreach (var e in eventos)
                {
                    //quitar los 4 horas que se sumaron al drop al calendario
                    if (!e.fechaInicio.TimeOfDay.Equals("{04:00:00}"))
                    {
                        e.fechaInicio = e.fechaInicio.AddHours(-4);
                        //e.fechaFin = e.fechaFin.HasValue ? e.fechaFin.Value.AddHours(-4) : e.fechaFin;
                    }

                    if (e.backgroundColor.ToUpper().Equals(Vacaciones.ToUpper()))
                    {
                        e.tipo = "Vacaciones";
                    }
                    else if (e.backgroundColor.ToUpper().Equals(FlexTime.ToUpper()))
                    {
                        e.tipo = "FlexTime";
                    }
                    else if (e.backgroundColor.ToUpper().Equals(EnfermedadAlt.ToUpper()))
                    {
                        e.tipo = "Enfermedad";
                    }
                    else
                    {
                        e.tipo = "Otros";
                    }

                    //switch (e.backgroundColor)
                    //{
                    //    case FlexTime:
                    //        e.tipo = "FlexTime";
                    //        break;
                    //}

                }

                try
                {
                    db.local_eventos_calendario.AddRange(eventos);
                    db.SaveChanges();
                    ViewBag.success = true;
                    ViewBag.error = false;
                    //volver a Calendario
                    ViewBag.usuarios = operadores.ToList();
                    //return RedirectToAction("Success");
                    return RedirectToAction("BalanceActual", "Finanzas");
                }
                catch (Exception e)
                {
                    ViewBag.error = true;
                    ViewBag.success = false;
                    //volver a Calendario
                    ViewBag.usuarios = operadores.ToList();
                    return RedirectToAction("Error");
                    // return View("Index");
                }
            }
            else
            {
                ViewBag.error = true;
                ViewBag.success = false;
                //volver a Calendario
                ViewBag.usuarios = operadores.ToList();
                return RedirectToAction("Index", "Calendar");
            }
        }
예제 #2
0
        public ActionResult CrearVisita(Local_Visitas_Agentes visita)
        {
            VIAModel db = new VIAModel();
            var error = false;

            string domainUser = User.Identity.Name;
            string[] parts = domainUser.Split('\\');
            string username = parts[1];

            visita.id = visita.Numero_Agencia;
            visita.Agencia = db.Agencias.Find(visita.id);

            visita.regPor = username;
            visita.Hora = DateTime.Now.ToShortTimeString();
            visita.Fecha = DateTime.Now.Date;

            if (!string.IsNullOrEmpty(visita.fmrSeleccionado))
            {
                visita.FMR = (from f in db.Local_FMR where f.nombre.Equals(visita.fmrSeleccionado) select f.FMR_id).First();
                visita.Local_FMR = db.Local_FMR.Find(visita.FMR);
            }
            else
            {
                error = true;
                ModelState.AddModelError("fmr", "Debe seleccionar un FMR");
            }

            if (visita.SalienteVisible == 2) { error = true; ModelState.AddModelError("saliente", "Debe elegir una opción."); }
            if (visita.BannerVisible == 2) { error = true; ModelState.AddModelError("banner", "Debe elegir una opción."); }
            if (visita.TotemVisible == 2) { error = true; ModelState.AddModelError("totem", "Debe elegir una opción."); }
            if (visita.CoverVisible == 2) { error = true; ModelState.AddModelError("cover", "Debe elegir una opción."); }
            if (visita.PortaAficheVisible == 2) { error = true; ModelState.AddModelError("portaafiche", "Debe elegir una opción."); }
            if (visita.ColganteVisible == 2) { error = true; ModelState.AddModelError("colgante", "Debe elegir una opción."); }
            if (visita.FlyersVisibles == 2) { error = true; ModelState.AddModelError("flyers", "Debe elegir una opción."); }

            if (!error)
            {
                try
                {
                    db.Local_Visitas_Agentes.Add(visita);
                    db.SaveChanges();

                    ViewBag.Mensaje = "Se ha guardado la visita Éxitosamente.";
                    var agenciasL = from a in db.Agencias orderby a.NUMERO_AGENCIA select a.NUMERO_AGENCIA;
                    Agencias objA = new Agencias();
                    objA.listaAgencias = new SelectList(agenciasL);
                    return View("Buscar", objA);
                }
                catch (Exception e)
                {
                    ViewBag.Error = "No se ha podido guardar la visita. Intente de nuevo.";
                    var obj = new Local_Visitas_Agentes();
                    obj.Agencia = visita.Agencia;
                    obj.Fecha = DateTime.Now.Date;
                    obj.Hora = DateTime.Now.ToShortTimeString();
                    var fmr = from f in db.Local_FMR orderby f.nombre select f.nombre;
                    var agencias = from ag in db.Agencias orderby ag.NUMERO_AGENCIA select ag.NUMERO_AGENCIA;
                    obj.Agencia.listaAgencias = new SelectList(agencias);
                    obj.listaFMR = new SelectList(fmr);
                    ViewBag.Ruta = (from r in db.EJECUTIVOS where r.EJECUTIVO_ID == obj.Agencia.EJECUTIVO_ID select r.NOMBRE).First();

                    return View(obj);
                }
            }
            else
            {
                ModelState.AddModelError("error", "Asegurese elegir una opción para cada pregunta.");

                var obj = new Local_Visitas_Agentes();

                obj.Fecha = DateTime.Now.Date;
                obj.Hora = DateTime.Now.ToShortTimeString();
                var fmr = from f in db.Local_FMR orderby f.nombre select f.nombre;
                var agencias = from ag in db.Agencias orderby ag.NUMERO_AGENCIA select ag.NUMERO_AGENCIA;
                obj.Agencia = new Agencias();
                obj.Agencia = db.Agencias.Find(visita.Numero_Agencia);
                obj.Agencia.listaAgencias = new SelectList(agencias);
                obj.listaFMR = new SelectList(fmr);
                ViewBag.Ruta = (from r in db.EJECUTIVOS where r.EJECUTIVO_ID == obj.Agencia.EJECUTIVO_ID select r.NOMBRE).First();
                ViewBag.errores = "error";

                //respuestas
                obj.SalienteVisible = visita.SalienteVisible;
                obj.BannerVisible = visita.BannerVisible;
                obj.ColganteVisible = visita.ColganteVisible;
                obj.CoverVisible = visita.CoverVisible;
                obj.FlyersVisibles = visita.FlyersVisibles;
                obj.PortaAficheVisible = visita.PortaAficheVisible;
                obj.SalienteVisible = visita.SalienteVisible;
                obj.TotemVisible = visita.TotemVisible;

                return View(obj);
            }
        }