public ActionResult Delete(Models.Ruta.Ruta model) { try { Models.Ruta.Ruta modelDelete = GetModel(model.IdRuta); modelDelete.Estado = Rp3.AgendaComercial.Models.Constantes.Estado.Eliminado; modelDelete.UsrMod = this.UserLogonName; modelDelete.FecMod = this.GetCurrentDateTime(); DataBase.Rutas.Update(modelDelete); DataBase.Save(); VerificarDependencia(modelDelete); //DataBase.Rutas.Delete(modelDelete); //DataBase.Save(); this.AddDefaultSuccessMessage(); return(RedirectToAction("Index")); } catch { this.AddDefaultErrorMessage(); } return(RedirectToAction("Index", model)); }
private void VerificarDependencia(Models.Ruta.Ruta ruta) { if (ruta.Estado == Rp3.AgendaComercial.Models.Constantes.Estado.Inactivo || ruta.Estado == Rp3.AgendaComercial.Models.Constantes.Estado.Eliminado) { DataBase.Rutas.EliminarDependenciaRuta(ruta.IdRuta, this.UserLogonName); } }
public ActionResult Create() { InicializarEdit(); Models.Ruta.Ruta model = new Models.Ruta.Ruta(); model.Estado = Models.Constantes.Estado.Activo; model.RutaLotes = new List <RutaLote>(); model.RutaDetalles = new List <RutaDetalle>(); model.RutaIncluirs = new List <RutaIncluir>(); return(View(model)); }
public ActionResult Edit(Models.Ruta.Ruta model, string[] lotes, string[] clienteIncluir) { Models.Ruta.Ruta modelUpdate = GetModel(model.IdRuta); try { if (ModelState.IsValid) { modelUpdate.Descripcion = model.Descripcion; modelUpdate.IdCalendario = model.IdCalendario; modelUpdate.Estado = model.Estado; modelUpdate.UsrMod = this.UserLogonName; modelUpdate.FecMod = this.GetCurrentDateTime(); DataBase.RutaLotes.Update(model.RutaLotes, modelUpdate.RutaLotes); var listIncluirEdit = GetIncluirListDetail(model.IdRuta, clienteIncluir); DataBase.RutaIncluirs.Update(listIncluirEdit, modelUpdate.RutaIncluirs); ProcessClientes(modelUpdate); SetResumen(modelUpdate); DataBase.Rutas.Update(modelUpdate); DataBase.Save(); VerificarDependencia(modelUpdate); this.AddDefaultSuccessMessage(); return(RedirectToAction("Index", model)); } } catch { this.AddDefaultErrorMessage(); } InicializarEdit(); model.RutaIncluirs = GetIncluirListDetail(model.IdRuta, clienteIncluir); model.RutaDetalles = modelUpdate.RutaDetalles; SetUbicacion(model.RutaDetalles); SetUbicacion(model.RutaIncluirs); return(View(model)); }
public ActionResult Create(Models.Ruta.Ruta model, string[] lotes, string[] clienteIncluir, string[] clienteExcluir) { try { if (ModelState.IsValid) { model.AsignarId(); model.Estado = Rp3.AgendaComercial.Models.Constantes.Estado.Activo; model.EstadoTabla = Rp3.AgendaComercial.Models.Constantes.Estado.Tabla; model.UsrIng = this.UserLogonName; model.FecIng = this.GetCurrentDateTime(); string DLote = string.Join(",", lotes); if (!String.IsNullOrEmpty(DLote) && DLote[0] == ',') { DLote = DLote.Remove(0, 1); } model.Lotes = DLote; model.RutaIncluirs = GetIncluirListDetail(model.IdRuta, clienteIncluir); model.RutaExcluirs = GetExcluirListDetail(model.IdRuta, clienteExcluir); model.RutaDetalles = new List <RutaDetalle>(); ProcessClientes(model); SetResumen(model); DataBase.Rutas.Insert(model); DataBase.Save(); this.AddDefaultSuccessMessage(); return(RedirectToAction("Index", model)); } } catch { this.AddDefaultErrorMessage(); } InicializarEdit(); model.RutaIncluirs = GetIncluirListDetail(model.IdRuta, clienteIncluir); SetUbicacion(model.RutaIncluirs); return(View(model)); }
public void SetResumen(Models.Ruta.Ruta model) { string lotes = String.Empty; foreach (var lote in model.RutaLotes) { var loteItem = DataBase.Lotes.Get(p => p.IdLote == lote.IdLote).FirstOrDefault(); if (loteItem != null) { if (!String.IsNullOrEmpty(lotes)) { lotes += ", "; } lotes += loteItem.Descripcion; } } model.LoteResumen = lotes; }
private void ProcessClientes(Models.Ruta.Ruta modelUpdate) { var listUpdate = new List <RutaDetalle>(); var lotes = modelUpdate.RutaLotes.Select(p => p.IdLote).ToList <int>(); var clientes = DataBase.LoteDetalles.Get(p => lotes.Contains(p.IdLote), includeProperties: "ClienteDireccion"); foreach (var cliente in clientes) { if (listUpdate.Where(p => p.IdCliente == cliente.IdCliente && p.IdClienteDireccion == cliente.IdClienteDireccion).Count() == 0) { listUpdate.Add(new RutaDetalle() { IdRuta = modelUpdate.IdRuta, IdCliente = cliente.IdCliente, IdClienteDireccion = cliente.IdClienteDireccion, ClienteDireccion = cliente.ClienteDireccion }); } } foreach (var cliente in modelUpdate.RutaIncluirs) { if (listUpdate.Where(p => p.IdCliente == cliente.IdCliente && p.IdClienteDireccion == cliente.IdClienteDireccion).Count() == 0) { listUpdate.Add(new RutaDetalle() { IdRuta = modelUpdate.IdRuta, IdCliente = cliente.IdCliente, IdClienteDireccion = cliente.IdClienteDireccion, ClienteDireccion = cliente.ClienteDireccion }); } } DataBase.RutaDetalles.Update(listUpdate, modelUpdate.RutaDetalles); }
public ActionResult Process(int id) { Models.Ruta.Ruta modelUpdate = GetModel(id); try { ProcessClientes(modelUpdate); DataBase.Rutas.Update(modelUpdate); DataBase.Save(); SetUbicacion(modelUpdate.RutaDetalles); this.AddSuccessMessage(@Rp3.AgendaComercial.Resources.LegendFor.RutaProcesada); } catch { this.AddDefaultErrorMessage(); } ViewBag.IsProcess = true; return(View(modelUpdate)); }
private Models.Ruta.Ruta GetModel(int id) { Models.Ruta.Ruta result = DataBase.Rutas.Get(p => p.IdRuta == id, includeProperties: "RutaLotes, RutaDetalles, RutaIncluirs, RutaExcluirs").SingleOrDefault(); return(result); }