Beispiel #1
0
        public ActionResult Edit(ProgramacionRuta model)
        {
            ProgramacionRuta modelUpdate = GetModel(model.IdProgramacionRuta);

            InicializarEdit();
            ViewBag.Ubicaciones = GetRuta(model.IdRuta);
            return(View(model));
        }
Beispiel #2
0
        public ActionResult Schedule(ProgramacionRuta model)
        {
            ViewBag.IdRuta = model.IdRuta;
            var ruta = DataBase.Rutas.GetSingleOrDefault(p => p.IdRuta == model.IdRuta);

            ViewBag.Ruta = ruta;
            InicializarTab(ruta);

            return(View());
        }
Beispiel #3
0
        public HttpResponseMessage Index(int id)
        {
            ProgramacionRuta ProgramacionRuta = ProgramacionRutaNegocio.ObtenerPorId(id);

            if (ProgramacionRuta == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NoContent));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, ProgramacionRuta));
        }
Beispiel #4
0
        public ActionResult Create()
        {
            InicializarEdit();

            ProgramacionRuta model = new ProgramacionRuta();

            model.FechaInicio = GetCurrentDateTime().Date;
            model.FechaFin    = model.FechaInicio;

            ViewBag.Ubicaciones = GetRuta(model.IdRuta);
            return(View(model));
        }
Beispiel #5
0
        public ActionResult Delete(ProgramacionRuta model)
        {
            try
            {
                ProgramacionRuta modelDelete = GetModel(model.IdProgramacionRuta);

                DataBase.ProgramacionRutas.Delete(modelDelete);
                DataBase.Save();

                return(RedirectToAction("Index"));
            }
            catch
            {
                this.AddDefaultErrorMessage();
            }

            return(RedirectToAction("Index", null, null, true));
        }
Beispiel #6
0
        private ProgramacionRuta GetProgramacionRuta(int?id, int idCliente, int idClienteDireccion, int idRuta)
        {
            var itemsTareasCatalog = new List <SelectListItem>();

            if (id == null)
            {
                var model = new ProgramacionRuta();
                ViewBag.ButtonLabel       = Rp3.AgendaComercial.Resources.LabelFor.Agregar;
                ViewBag.DiarioDisplay     = "block";
                ViewBag.SemanalDisplay    = "none";
                ViewBag.MensualDisplay    = "none";
                ViewBag.MensualDiaDisplay = "block";
                ViewBag.MensualElDisplay  = "none";
                model.TipoMensual         = "1";
                model.ConFechaFin         = true;

                var tareas = DataBase.Tareas.GetSync(idRuta, null, null).Where(p => p.TipoTarea != Models.Constantes.TipoTarea.CheckListOportunidad && p.Estado == Models.Constantes.Estado.Activo);
                foreach (Tarea tar in tareas)
                {
                    itemsTareasCatalog.Add(new SelectListItem()
                    {
                        Text = tar.Descripcion, Value = tar.IdTarea + "", Selected = true
                    });
                }
                var itemsTareas = new MultiSelectList(itemsTareasCatalog, "Value", "Text", itemsTareasCatalog.Select(p => p.Value).ToList());
                ViewBag.ItemsTareas = itemsTareas;
                return(model);
            }
            else
            {
                var tareasProgramadas = DataBase.ProgramacionRutaTareas.Get(p => p.IdProgramacionRuta == id.Value).Select(p => p.IdTarea).ToList();
                var tareas            = DataBase.Tareas.GetSync(idRuta, null, null).Where(p => p.TipoTarea != Models.Constantes.TipoTarea.CheckListOportunidad);
                foreach (Tarea tar in tareas)
                {
                    itemsTareasCatalog.Add(new SelectListItem()
                    {
                        Text = tar.Descripcion, Value = tar.IdTarea + "", Selected = tareasProgramadas.Contains(tar.IdTarea)
                    });
                }
                var itemsTareas = new MultiSelectList(itemsTareasCatalog, "Value", "Text", tareasProgramadas);
                ViewBag.ItemsTareas = itemsTareas;

                ViewBag.ButtonLabel = Rp3.AgendaComercial.Resources.LabelFor.Guardar;
                var model = DataBase.ProgramacionRutas.Get(p => p.IdProgramacionRuta == id).FirstOrDefault();
                model.TipoMensual         = "1";
                ViewBag.MensualDiaDisplay = "block";
                ViewBag.MensualElDisplay  = "none";

                if (model.Patron == "D")
                {
                    ViewBag.DiarioDisplay  = "block";
                    ViewBag.SemanalDisplay = "none";
                    ViewBag.MensualDisplay = "none";
                }

                if (model.Patron == "S")
                {
                    ViewBag.DiarioDisplay  = "none";
                    ViewBag.SemanalDisplay = "block";
                    ViewBag.MensualDisplay = "none";
                    itemsDiasSemana        = new List <SelectListItem>
                    {
                        new SelectListItem {
                            Text = "Lunes", Value = "1", Selected = model.Lunes
                        },
                        new SelectListItem {
                            Text = "Martes", Value = "2", Selected = model.Martes
                        },
                        new SelectListItem {
                            Text = "Miércoles", Value = "3", Selected = model.Miercoles
                        },
                        new SelectListItem {
                            Text = "Jueves", Value = "4", Selected = model.Jueves
                        },
                        new SelectListItem {
                            Text = "Viernes", Value = "5", Selected = model.Viernes
                        },
                        new SelectListItem {
                            Text = "Sábado", Value = "6", Selected = model.Sabado
                        },
                        new SelectListItem {
                            Text = "Domingo", Value = "7", Selected = model.Domingo
                        },
                    };
                    var selectedItems = itemsDiasSemana.Where(p => p.Selected == true).Select(p => p.Value).ToList();
                    //var listSelectedItems = new MultiSelectList(selectedItems, "Value", "Text");
                    var listDiasSemana = new MultiSelectList(itemsDiasSemana, "Value", "Text", selectedItems);
                    ViewBag.ItemsDiasSemana = listDiasSemana;
                }

                if (model.Patron == "M")
                {
                    ViewBag.DiarioDisplay  = "none";
                    ViewBag.SemanalDisplay = "none";
                    ViewBag.MensualDisplay = "block";

                    if (model.Lunes || model.Martes || model.Miercoles || model.Jueves || model.Viernes || model.Sabado ||
                        model.Domingo || model.Dia || model.DiaLaboral || model.DiaFinDeSemana)
                    {
                        itemsDiasMensual = new List <SelectListItem>
                        {
                            new SelectListItem {
                                Text = "Lunes", Value = "1", Selected = model.Lunes
                            },
                            new SelectListItem {
                                Text = "Martes", Value = "2", Selected = model.Martes
                            },
                            new SelectListItem {
                                Text = "Miércoles", Value = "3", Selected = model.Miercoles
                            },
                            new SelectListItem {
                                Text = "Jueves", Value = "4", Selected = model.Jueves
                            },
                            new SelectListItem {
                                Text = "Viernes", Value = "5", Selected = model.Viernes
                            },
                            new SelectListItem {
                                Text = "Sábado", Value = "6", Selected = model.Sabado
                            },
                            new SelectListItem {
                                Text = "Domingo", Value = "7", Selected = model.Domingo
                            },
                            new SelectListItem {
                                Text = "Día", Value = "8", Selected = model.Dia
                            },
                            new SelectListItem {
                                Text = "Día Laboral", Value = "9", Selected = model.DiaLaboral
                            },
                            new SelectListItem {
                                Text = "Fin de Semana", Value = "10", Selected = model.DiaFinDeSemana
                            },
                        };
                        model.TipoMensual        = "2";
                        ViewBag.ItemsDiasMensual = itemsDiasMensual;
                    }
                }

                if (model.FechaFinTicks.HasValue && model.FechaFinTicks != 0)
                {
                    model.ConFechaFin = true;
                }
                else
                {
                    model.ConFechaFin = false;
                }
                return(model);
            }
        }
Beispiel #7
0
        public ActionResult SaveProgramacion(ProgramacionRuta model)
        {
            try
            {
                ProgramacionRuta modelUpdate = null;

                if (model.IdProgramacionRuta == 0)
                {
                    modelUpdate = new ProgramacionRuta();
                    DataBase.ProgramacionRutas.Update(model, modelUpdate);
                    modelUpdate.AsignarId();
                    foreach (ProgramacionRutaTarea tarea in model.ProgramacionRutaTareas)
                    {
                        tarea.IdProgramacionRuta = modelUpdate.IdProgramacionRuta;
                        DataBase.ProgramacionRutaTareas.Insert(tarea);
                    }
                }
                else
                {
                    modelUpdate = DataBase.ProgramacionRutas.Get(p => p.IdRuta == model.IdRuta && p.IdCliente == model.IdCliente &&
                                                                 p.IdClienteDireccion == model.IdClienteDireccion && p.IdProgramacionRuta == model.IdProgramacionRuta).FirstOrDefault();
                    modelUpdate.ProgramacionRutaTareas = DataBase.ProgramacionRutaTareas.Get(p => p.IdProgramacionRuta == modelUpdate.IdProgramacionRuta).ToList();
                    DataBase.ProgramacionRutaTareas.Update(model.ProgramacionRutaTareas, modelUpdate.ProgramacionRutaTareas);
                }



                InitializeCatalogs();
                if (model.Patron == "D")
                {
                    modelUpdate.Descripcion = string.Format(Rp3.AgendaComercial.Resources.MessageFor.DescripcionDiaria,
                                                            itemsDias.Where(p => p.Value == model.Frecuencia + "").FirstOrDefault().Text.ToLower(), model.FechaInicio.Value.ToString("dd/MM/yyyy"));
                }
                if (model.Patron == "S")
                {
                    string dias = "";
                    if (model.Lunes)
                    {
                        dias = dias + "Lunes, ";
                    }
                    if (model.Martes)
                    {
                        dias = dias + "Martes, ";
                    }
                    if (model.Miercoles)
                    {
                        dias = dias + "Miércoles, ";
                    }
                    if (model.Jueves)
                    {
                        dias = dias + "Jueves, ";
                    }
                    if (model.Viernes)
                    {
                        dias = dias + "Viernes, ";
                    }
                    if (model.Sabado)
                    {
                        dias = dias + "Sábado, ";
                    }
                    if (model.Domingo)
                    {
                        dias = dias + "Domingo, ";
                    }

                    dias = dias.Substring(0, dias.Length - 2);

                    modelUpdate.Descripcion = string.Format(Rp3.AgendaComercial.Resources.MessageFor.DescripcionSemanal, dias,
                                                            itemsSemanal.Where(p => p.Value == model.Frecuencia + "").FirstOrDefault().Text.ToLower(), model.FechaInicio.Value.ToString("dd/MM/yyyy"));
                }

                if (model.Patron == "M")
                {
                    if (model.TipoMensual == "1")
                    {
                        modelUpdate.Descripcion = string.Format(Rp3.AgendaComercial.Resources.MessageFor.DescripcionMensualDia, model.DiaMes,
                                                                itemsNumeroMeses.Where(p => p.Value == model.Frecuencia + "").FirstOrDefault().Text.ToLower(), model.FechaInicio.Value.ToString("dd/MM/yyyy"));
                    }
                    if (model.TipoMensual == "2")
                    {
                        string dias = "";
                        if (model.Lunes)
                        {
                            dias = dias + "Lunes";
                        }
                        if (model.Martes)
                        {
                            dias = dias + "Martes";
                        }
                        if (model.Miercoles)
                        {
                            dias = dias + "Miércoles";
                        }
                        if (model.Jueves)
                        {
                            dias = dias + "Jueves";
                        }
                        if (model.Viernes)
                        {
                            dias = dias + "Viernes";
                        }
                        if (model.Sabado)
                        {
                            dias = dias + "Sábado";
                        }
                        if (model.Domingo)
                        {
                            dias = dias + "Domingo";
                        }
                        if (model.Dia)
                        {
                            dias = dias + "Día";
                        }
                        if (model.DiaLaboral)
                        {
                            dias = dias + "Día Laboral";
                        }
                        if (model.DiaFinDeSemana)
                        {
                            dias = dias + "Fin de Semana";
                        }
                        modelUpdate.Descripcion = string.Format(Rp3.AgendaComercial.Resources.MessageFor.DescripcionMensualEl,
                                                                itemsDiasEl.Where(p => p.Value == model.Semana + "").FirstOrDefault().Text.ToLower(), dias,
                                                                itemsNumeroMeses.Where(p => p.Value == model.Frecuencia + "").FirstOrDefault().Text.ToLower(),
                                                                model.FechaInicio.Value.ToString("dd/MM/yyyy"));
                        //modelUpdate.Semana = model.DiaMes;
                    }
                }

                if (model.FechaFinTicks.HasValue && model.FechaFinTicks != 0)
                {
                    modelUpdate.Descripcion = model.Descripcion + (string.Format(Rp3.AgendaComercial.Resources.MessageFor.DescripcionSinFin, model.FechaFin.Value.ToString("dd/MM/yyyy")));
                }

                modelUpdate.PatronTabla = Rp3.AgendaComercial.Models.Constantes.PatronProgramacion.Tabla;
                modelUpdate.EstadoTabla = Rp3.AgendaComercial.Models.Constantes.Estado.Tabla;
                modelUpdate.Estado      = Rp3.AgendaComercial.Models.Constantes.Estado.Activo;
                modelUpdate.UsrMod      = this.UserLogonName;
                modelUpdate.FecMod      = this.GetCurrentDateTime();

                modelUpdate.DiaMes         = 0;
                modelUpdate.Lunes          = model.Lunes;
                modelUpdate.Martes         = model.Martes;
                modelUpdate.Miercoles      = model.Miercoles;
                modelUpdate.Jueves         = model.Jueves;
                modelUpdate.Viernes        = model.Viernes;
                modelUpdate.Sabado         = model.Sabado;
                modelUpdate.Domingo        = model.Domingo;
                modelUpdate.Dia            = model.Dia;
                modelUpdate.DiaLaboral     = model.DiaLaboral;
                modelUpdate.DiaFinDeSemana = model.DiaFinDeSemana;
                modelUpdate.DiaMes         = model.DiaMes;
                modelUpdate.Frecuencia     = model.Frecuencia;
                modelUpdate.Patron         = model.Patron;
                modelUpdate.PatronTabla    = model.PatronTabla;
                modelUpdate.Semana         = model.Semana;
                modelUpdate.FechaInicio    = model.FechaInicio;
                modelUpdate.FechaFin       = model.FechaFin;

                if (model.IdProgramacionRuta == 0)
                {
                    modelUpdate.UsrIng = this.UserLogonName;
                    modelUpdate.FecIng = this.GetCurrentDateTime();
                    modelUpdate.FechaUltimaEjecucion = model.FechaInicio.Value;
                    DataBase.ProgramacionRutas.Insert(modelUpdate);
                }
                else
                {
                    DataBase.ProgramacionRutas.Update(modelUpdate);
                }
                DataBase.Save();
            }
            catch
            {
                this.AddDefaultErrorMessage();
            }
            var list = DataBase.ProgramacionRutas.Get(p => p.IdRuta == model.IdRuta && p.IdCliente == model.IdCliente && p.IdClienteDireccion == model.IdClienteDireccion &&
                                                      p.Estado == Rp3.AgendaComercial.Models.Constantes.Estado.Activo).ToList();

            return(PartialView("_ProgramacionRuta", list));
        }
Beispiel #8
0
        private ProgramacionRuta GetModel(long id)
        {
            ProgramacionRuta result = DataBase.ProgramacionRutas.Get(p => p.IdProgramacionRuta == id, includeProperties: "Ruta, ProgramacionRutaDetalles").SingleOrDefault();

            return(result);
        }
Beispiel #9
0
 public ActionResult Create(ProgramacionRuta model)
 {
     return(View(model));
 }
 public void Eliminar(ProgramacionRuta entidad)
 {
     throw new NotImplementedException();
 }
 public void Actualizar(ProgramacionRuta entidad)
 {
     throw new NotImplementedException();
 }