public ActionResult DeleteConfirmed(int id) { HojaDeRuta hojaDeRuta = db.HojaDeRutas.Find(id); db.HojaDeRutas.Remove(hojaDeRuta); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "IdHojaDeRuta,IdCanillita,FechaEntrega,FechaGeneracion")] HojaDeRuta hojaDeRuta) { if (ModelState.IsValid) { db.Entry(hojaDeRuta).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IdCanillita = new SelectList(db.Canillitas, "IdCanillita", "Nombre", hojaDeRuta.IdCanillita); return(View(hojaDeRuta)); }
// GET: HojaDeRutas/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HojaDeRuta hojaDeRuta = db.HojaDeRutas.Find(id); if (hojaDeRuta == null) { return(HttpNotFound()); } return(View(hojaDeRuta)); }
// GET: HojaDeRutas/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HojaDeRuta hojaDeRuta = db.HojaDeRutas.Find(id); if (hojaDeRuta == null) { return(HttpNotFound()); } ViewBag.IdCanillita = new SelectList(db.Canillitas, "IdCanillita", "Nombre", hojaDeRuta.IdCanillita); return(View(hojaDeRuta)); }
public void Enviar(Envio obj, HojaDeRuta hojaDeRuta) { try { var estado = estadoEnvioBLL.Obtener(Entidades.Enums.EstadoEnvio.Enviado); obj.Estado = estado; obj.FechaEnvio = DateTime.Now; if (hojaDeRuta != null) { obj.HojaDeRuta = hojaDeRuta; } mpp.Modificacion(obj); } catch (Exception) { throw; } }
// GET: HojaDeRutas/Create public ActionResult ImprimirPost([Bind(Include = "FechaEntrega")] HojaDeRuta hojaDeRuta) { var fecha = hojaDeRuta.FechaEntrega; var hojasderutas = new List <HojaDeRuta>(); if (User.IsInRole("Distribuidor")) { if (db.HojaDeRutas.ToList().FindAll(x => x.Canillita.IdDistribuidor == Int32.Parse(db.Users.ToList().Find(z => z.Id == User.Identity.GetUserId()).Identificador) & x.FechaEntrega == fecha).Count == 0) { return(Json("No existen hojas de rutas generadas para la fecha: " + fecha.ToShortDateString())); } hojasderutas = db.HojaDeRutas.ToList().FindAll(x => x.Canillita.IdDistribuidor == Int32.Parse(db.Users.ToList().Find(z => z.Id == User.Identity.GetUserId()).Identificador) & x.FechaEntrega == fecha); } else { if (db.HojaDeRutas.ToList().FindAll(x => x.FechaEntrega == fecha).Count == 0) { return(Json("No existen hojas de rutas generadas para la fecha: " + fecha.ToShortDateString())); } hojasderutas = db.HojaDeRutas.ToList(); } string footer = ""; MemoryStream ms = new MemoryStream(); var a = new ViewAsPdf(); a = new ViewAsPdf(); a.ViewName = "ImprimirPost"; a.Model = hojasderutas; a.FileName = "HR-" + fecha.ToShortDateString() + ".pdf"; a.PageMargins = new Margins(5, 5, 5, 5); footer = "--footer-center \"Generado: " + DateTime.Now.Date.ToString("MM/dd/yyyy") + " Página: [page]/[toPage]\"" + " --footer-line --footer-font-size \"9\" --footer-spacing 6 --footer-font-name \"calibri light\""; a.CustomSwitches = footer; var pdfBytes = a.BuildPdf(ControllerContext); ms = new MemoryStream(pdfBytes); return(File(ms, "application/pdf", a.FileName)); }
private void ClickGuardar(object sender, EventArgs e) { try { if (DatosValidos(1)) { var hojaDeRuta = new HojaDeRuta(); hojaDeRuta.Usuario = SeguridadBLL.usuarioLogueado; hojaDeRuta.FechaCreacion = DateTime.Now; hojaDeRuta.Envios = this.envios; var resultado = hojaDeRutaBLL.AltaConDivisionPorCapacidad(hojaDeRuta); if (resultado.Count == 1) { MessageBox.Show($"La Hoja de Ruta fue creada exitosamente con el número {resultado.First().Id}. " + $"Puede consultarla en Reportes > Hojas de Ruta", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show($"La Hoja de Ruta se dividió en {resultado.Count} ya que se estaba superando la capacidad máxima permitida. " + $"{Environment.NewLine}Los números de las nuevas hojas son: {string.Join(" - ", resultado.Select(x => x.Id))} " + $"{Environment.NewLine}Puede consultarla en Reportes > Hojas de Ruta " + $"{Environment.NewLine}Los envios son: {string.Join(" - ", resultado.SelectMany(x => x.Envios.Select(y => y.Id)))}", "Hoja de Ruta", MessageBoxButtons.OK, MessageBoxIcon.Information); } frm.Hide(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public ActionResult Create([Bind(Include = "IdHojaDeRuta,IdCanillita,FechaEntrega,FechaGeneracion")] HojaDeRuta hojaDeRuta) { //esta seria la fecha de entrega que ingresa el usuario var fecha = hojaDeRuta.FechaEntrega; if (db.HojaDeRutas.ToList().FindAll(x => x.FechaEntrega == fecha).Count > 0) { return(Json("No es posible generar hojas de ruta. Ya se han generado previamente las hojas de ruta para la fecha: " + fecha.ToShortDateString())); } //obtengo el dia de la semana seleccionado Lun Mar Mier Jue Vie Sab Dom var dia = (int)fecha.DayOfWeek; var d = dia; if (dia == 0) { d = 7; } //Obtengo el listado de canillitas activos var canillitasactivos = db.Canillitas.ToList().FindAll(x => x.Activo); //obtengo el listado de suscripciones activas //por ahora se obtiene primero el listado de las suscripciones que poseen estado de sucripcion en el historial. //tira error si la cantidad era 0 var suscripcionesconestadosuscripcion = db.Suscripciones.ToList().FindAll(x => x.EstadoSuscripcionHistorial.Count > 0); var suscripcionesactivas = suscripcionesconestadosuscripcion.FindAll(x => x.EstadoSuscripcionHistorial.LastOrDefault().EstadoSuscripcion == EstadoSuscripcion.Activa & x.IdCanillita != null); //recorro los canillitas activos para filtrar las suscripciones foreach (var c in canillitasactivos) { //inicializo los datos basicos de la hoja de ruta - una por cada canillita var hojaruta = new HojaDeRuta(); hojaruta.IdCanillita = c.IdCanillita; hojaruta.FechaEntrega = fecha; hojaruta.FechaGeneracion = DateTime.Now; db.HojaDeRutas.Add(hojaruta); db.SaveChanges(); //bool para eliminar la hoja si es que no tiene entregas en el dia seleccionado var poseeentregas = false; //obtengo las sucripciones que tienen asignado ese canillita en algun dia de entrega var suscripcionescanillita = suscripcionesactivas.ToList().FindAll(x => x.DiaEntregas.ToList().Any(a => a.IdCanillita == c.IdCanillita & (int)a.NombreDia == d)); int numeroorden = 1; //selecciono las suscripciones que estan habilitadas para el dia solicitado foreach (var s in suscripcionescanillita) { poseeentregas = true; //cada suscripcion es sera una linea en la hoja de ruta del canillita if (s.TipoSuscripcion == TipoSuscripcion.Normal | s.TipoSuscripcion == TipoSuscripcion.Cortesia) { #region SuscripcionNormal var linea = new Linea(); var codigoproducto = ""; var nombreproducto = ""; var numerosuscripcion = ""; linea.NumeroOrden = numeroorden; numeroorden++; linea.NumeroSuscriptor = s.Suscriptor.NumeroSuscriptor; linea.NombreSuscriptor = s.Suscriptor.Apellido + ", " + s.Suscriptor.Nombre; linea.UltimaEntrega = false; try { //ACA SE TRAE EL DOMICILIO DEL DIA DE ENTREGA var dentrega = s.DiaEntregas.ToList().Find(x => d == (int)x.NombreDia); linea.Domicilio = dentrega.Domicilio.Calle + " " + dentrega.Domicilio.Altura + "/" + dentrega.Domicilio.Barrio; linea.Localidad = dentrega.Domicilio.Localidad.Nombre; linea.Observacion = dentrega.Domicilio.Observaciones; linea.ObservacionLimpia = dentrega.Domicilio.Observaciones; } catch (Exception e) { //ACA SE TRAE EL DOMICILIO POR DEFECTO DEL SUSCRIPTOR linea.Domicilio = s.Suscriptor.Domicilio.Calle + " " + s.Suscriptor.Domicilio.Altura + "/" + s.Suscriptor.Domicilio.Barrio; linea.Localidad = s.Suscriptor.Domicilio.Localidad.Nombre; linea.Observacion = s.Suscriptor.Domicilio.Observaciones; linea.ObservacionLimpia = s.Suscriptor.Domicilio.Observaciones; } linea.Lunes = s.Lunes; linea.Martes = s.Martes; linea.Miercoles = s.Miercoles; linea.Jueves = s.Jueves; linea.Viernes = s.Viernes; linea.Sabado = s.Sabado; linea.Domingo = true; linea.NumeroSuscripcion = s.NumeroSuscripcion.ToString(); linea.CodigoProducto = /*s.Oferta.CodigoProductoServinor*/ "000001"; linea.NombreProducto = /*s.Oferta.NombreProductoServinor*/ "DIARIO NORTE"; //almaceno la relacion de suscripcion con la hoja de ruta var suscripcionhojaruta = new SuscripcionHojaDeRuta(); if (s.SuscripcionHojaDeRutas.Count == 0) { linea.Observacion = "*1° ENTREGA*-" + linea.Observacion; } suscripcionhojaruta.IdSuscripcion = s.IdSuscripcion; suscripcionhojaruta.IdHojaDeRuta = hojaruta.IdHojaDeRuta; db.SuscripcionHojaDeRutas.Add(suscripcionhojaruta); db.SaveChanges(); //agrego la linea de la suscripcion a la hoja de ruta linea.IdHojaDeRuta = hojaruta.IdHojaDeRuta; db.Lineas.Add(linea); db.SaveChanges(); #endregion } else { if (s.TipoSuscripcion == TipoSuscripcion.Coorporativo) { #region suscriptorprincipal var suscripcionhojarutaprinc = new SuscripcionHojaDeRuta(); suscripcionhojarutaprinc.IdSuscripcion = s.IdSuscripcion; suscripcionhojarutaprinc.IdHojaDeRuta = hojaruta.IdHojaDeRuta; db.SuscripcionHojaDeRutas.Add(suscripcionhojarutaprinc); db.SaveChanges(); var lineaprin = new Linea(); lineaprin.NumeroOrden = numeroorden; numeroorden++; lineaprin.NumeroSuscriptor = s.Suscriptor.NumeroSuscriptor; lineaprin.NombreSuscriptor = s.Suscriptor.Apellido + ", " + s.Suscriptor.Nombre; lineaprin.UltimaEntrega = false; try { //ACA SE TRAE EL DOMICILIO DEL DIA DE ENTREGA var dentregaprin = s.DiaEntregas.ToList().Find(x => d == (int)x.NombreDia); lineaprin.Domicilio = dentregaprin.Domicilio.Calle + " " + dentregaprin.Domicilio.Altura + "/" + dentregaprin.Domicilio.Barrio; lineaprin.Localidad = dentregaprin.Domicilio.Localidad.Nombre; lineaprin.Observacion = dentregaprin.Domicilio.Observaciones; lineaprin.ObservacionLimpia = dentregaprin.Domicilio.Observaciones; } catch (Exception e) { //ACA SE TRAE EL DOMICILIO POR DEFECTO DEL SUSCRIPTOR lineaprin.Domicilio = s.Suscriptor.Domicilio.Calle + " " + s.Suscriptor.Domicilio.Altura + "/" + s.Suscriptor.Domicilio.Barrio; lineaprin.Localidad = s.Suscriptor.Domicilio.Localidad.Nombre; lineaprin.Observacion = s.Suscriptor.Domicilio.Observaciones; lineaprin.ObservacionLimpia = s.Suscriptor.Domicilio.Observaciones; } lineaprin.Lunes = s.Lunes; lineaprin.Martes = s.Martes; lineaprin.Miercoles = s.Miercoles; lineaprin.Jueves = s.Jueves; lineaprin.Viernes = s.Viernes; lineaprin.Sabado = s.Sabado; lineaprin.Domingo = true; lineaprin.NumeroSuscripcion = s.NumeroSuscripcion.ToString(); lineaprin.CodigoProducto = /*s.Oferta.CodigoProductoServinor*/ "000001"; lineaprin.NombreProducto = /*s.Oferta.NombreProductoServinor*/ "DIARIO NORTE"; //agrego la linea de la suscripcion a la hoja de ruta lineaprin.IdHojaDeRuta = hojaruta.IdHojaDeRuta; db.Lineas.Add(lineaprin); db.SaveChanges(); #endregion #region SuscripcionCoorporativa //almaceno la relacion de suscripcion con la hoja de ruta var suscripcionhojaruta = new SuscripcionHojaDeRuta(); suscripcionhojaruta.IdSuscripcion = s.IdSuscripcion; suscripcionhojaruta.IdHojaDeRuta = hojaruta.IdHojaDeRuta; db.SuscripcionHojaDeRutas.Add(suscripcionhojaruta); db.SaveChanges(); foreach (var t in s.SuscriptorSecundarios) { var linea = new Linea(); linea.NumeroOrden = numeroorden; numeroorden++; linea.NumeroSuscriptor = t.Suscriptor.NumeroSuscriptor; linea.NombreSuscriptor = t.Suscriptor.Apellido + ", " + t.Suscriptor.Nombre; linea.UltimaEntrega = false; try { //ACA SE TRAE EL DOMICILIO DEL DIA DE ENTREGA var dentrega = t.DiaEntregas.ToList().Find(x => d == (int)x.NombreDia); linea.Domicilio = dentrega.Domicilio.Calle + " " + dentrega.Domicilio.Altura + "/" + dentrega.Domicilio.Barrio; linea.Localidad = dentrega.Domicilio.Localidad.Nombre; linea.Observacion = dentrega.Domicilio.Observaciones; linea.ObservacionLimpia = dentrega.Domicilio.Observaciones; } catch (Exception e) { //ACA SE TRAE EL DOMICILIO POR DEFECTO DEL SUSCRIPTOR linea.Domicilio = s.Suscriptor.Domicilio.Calle + " " + s.Suscriptor.Domicilio.Altura + "/" + s.Suscriptor.Domicilio.Barrio; linea.Localidad = s.Suscriptor.Domicilio.Localidad.Nombre; linea.Observacion = s.Suscriptor.Domicilio.Observaciones; linea.ObservacionLimpia = s.Suscriptor.Domicilio.Observaciones; } linea.Lunes = s.Lunes; linea.Martes = s.Martes; linea.Miercoles = s.Miercoles; linea.Jueves = s.Jueves; linea.Viernes = s.Viernes; linea.Sabado = s.Sabado; linea.Domingo = true; linea.NumeroSuscripcion = s.NumeroSuscripcion.ToString(); linea.CodigoProducto = s.Oferta.CodigoProductoServinor; linea.NombreProducto = s.Oferta.NombreProductoServinor; //agrego la linea de la suscripcion a la hoja de ruta linea.IdHojaDeRuta = hojaruta.IdHojaDeRuta; db.Lineas.Add(linea); db.SaveChanges(); } #endregion } } } //si no posee entregas se elimina la hoja de ruta if (!poseeentregas) { db.HojaDeRutas.Remove(hojaruta); db.SaveChanges(); } } return(RedirectToAction("Index")); }