コード例 #1
0
ファイル: OrdenController.cs プロジェクト: RenzoBit/SICAR
 public ActionResult Create(Orden orden)
 {
     if (((List<Carga>)Session["lcarga"]).Count == 0)
         ModelState.AddModelError("idorden", "Agregue al menos una carga");
     if (ModelState.IsValid)
     {
         Ubigeo ubigeoi = db.Ubigeo.Find(orden.idep, orden.ipro, orden.idis);
         Ubigeo ubigeof = db.Ubigeo.Find(orden.fdep, orden.fpro, orden.fdis);
         Servicio servicio = db.Servicio.Find(orden.idservicio);
         orden.distancia = Convert.ToDecimal(Halp.distance(Double.Parse(ubigeoi.latitud), Double.Parse(ubigeoi.longitud), Double.Parse(ubigeof.latitud), Double.Parse(ubigeof.longitud), 'K'));
         orden.numero = db.Database.SqlQuery<string>("SELECT RIGHT('0000000000' + CAST(IDENT_CURRENT('ca_orden') AS VARCHAR(10)), 10)").FirstOrDefault<string>();
         orden.bruto += servicio.costo * orden.distancia;
         orden.neto += servicio.costo * orden.distancia;
         foreach (Carga carga in ((List<Carga>)Session["lcarga"]))
         {
             carga.monto = carga.cargatipo.costo * orden.distancia;
             orden.bruto += carga.cargatipo.costo * orden.distancia;
             orden.neto += carga.cargatipo.costo * orden.distancia;
         }
         db.Orden.Add(orden);
         db.SaveChanges();
         foreach (Carga carga in ((List<Carga>)Session["lcarga"]))
         {
             carga.idorden = orden.idorden;
             carga.cargatipo = null;
             carga.unidad = null;
             db.Carga.Add(carga);
             db.SaveChanges();
         }
         if (orden.idcotizacion > 0)
         {
             Cotizacion cotizacion = db.Cotizacion.Find(orden.idcotizacion);
             cotizacion.estado = "A";
             db.Entry(cotizacion).State = EntityState.Modified;
             db.SaveChanges();
         }
         return RedirectToAction("Index");
     }
     ViewBag.idcliente = new SelectList(db.Cliente, "idpersona", "nombre", orden.idcliente);
     ViewBag.idpersona = new SelectList(db.Transportista, "idpersona", "nombre", orden.idpersona);
     ViewBag.idservicio = new SelectList(db.Servicio, "idservicio", "nombre", orden.idservicio);
     ViewBag.idep = new SelectList(db.Ubigeo.Where(x => x.dep != "00" && x.pro == "00" && x.dis == "00").OrderBy(x => x.nombre), "dep", "nombre", orden.idep);
     ViewBag.ipro = new SelectList(db.Ubigeo.Where(x => x.dep == orden.idep && x.pro != "00" && x.dis == "00").OrderBy(x => x.nombre), "pro", "nombre", orden.ipro);
     ViewBag.idis = new SelectList(db.Ubigeo.Where(x => x.dep == orden.idep && x.pro == orden.ipro && x.dis != "00").OrderBy(x => x.nombre), "dis", "nombre", orden.idis);
     ViewBag.fdep = new SelectList(db.Ubigeo.Where(x => x.dep != "00" && x.pro == "00" && x.dis == "00").OrderBy(x => x.nombre), "dep", "nombre", orden.fdep);
     ViewBag.fpro = new SelectList(db.Ubigeo.Where(x => x.dep == orden.fdep && x.pro != "00" && x.dis == "00").OrderBy(x => x.nombre), "pro", "nombre", orden.fpro);
     ViewBag.fdis = new SelectList(db.Ubigeo.Where(x => x.dep == orden.fdep && x.pro == orden.fpro && x.dis != "00").OrderBy(x => x.nombre), "dis", "nombre", orden.fdis);
     return View(orden);
 }
コード例 #2
0
ファイル: OrdenController.cs プロジェクト: RenzoBit/SICAR
 public ActionResult Create2(int id = 0)
 {
     Cotizacion c = db.Cotizacion.Find(id);
     List<Carga> l = db.Carga.Where(x => x.idcotizacion == c.idcotizacion).ToList();
     List<Carga> lcarga = new List<Carga>();
     foreach (Carga o in l)
         lcarga.Add(new Carga() { idunidad = o.idunidad, idcargatipo = o.idcargatipo, ancho = o.ancho, largo = o.largo, peso = o.peso, volumen = o.volumen, profundidad = o.profundidad, descripcion = o.descripcion, monto = o.monto, unidad = db.Unidad.Find(o.idunidad), cargatipo = db.CargaTipo.Find(o.idcargatipo) });
     Orden orden = new Orden() { idcotizacion = c.idcotizacion, idcliente = c.idpersona, idservicio = c.idservicio, numero = "0000000000", fecha = DateTime.Now, idep = c.idep, ipro = c.ipro, idis = c.idis, fdep = c.fdep, fpro = c.fpro, fdis = c.fdis, idir = c.idir, fdir = c.fdir, observacion = "La fecha de vencimiento", bruto = c.bruto, neto = c.neto, estado = "G", distancia = c.distancia, cotizacion_numero = c.numero };
     ViewBag.idcliente = new SelectList(db.Cliente, "idpersona", "nombre", orden.idcliente);
     ViewBag.idpersona = new SelectList(db.Transportista, "idpersona", "nombre");
     ViewBag.idservicio = new SelectList(db.Servicio, "idservicio", "nombre", orden.idservicio);
     ViewBag.idep = new SelectList(db.Ubigeo.Where(x => x.dep != "00" && x.pro == "00" && x.dis == "00").OrderBy(x => x.nombre), "dep", "nombre", orden.idep);
     ViewBag.ipro = new SelectList(db.Ubigeo.Where(x => x.dep == orden.idep && x.pro != "00" && x.dis == "00").OrderBy(x => x.nombre), "pro", "nombre", orden.ipro);
     ViewBag.idis = new SelectList(db.Ubigeo.Where(x => x.dep == orden.idep && x.pro == orden.ipro && x.dis != "00").OrderBy(x => x.nombre), "dis", "nombre", orden.idis);
     ViewBag.fdep = new SelectList(db.Ubigeo.Where(x => x.dep != "00" && x.pro == "00" && x.dis == "00").OrderBy(x => x.nombre), "dep", "nombre", orden.fdep);
     ViewBag.fpro = new SelectList(db.Ubigeo.Where(x => x.dep == orden.fdep && x.pro != "00" && x.dis == "00").OrderBy(x => x.nombre), "pro", "nombre", orden.fpro);
     ViewBag.fdis = new SelectList(db.Ubigeo.Where(x => x.dep == orden.fdep && x.pro == orden.fpro && x.dis != "00").OrderBy(x => x.nombre), "dis", "nombre", orden.fdis);
     Session["lcarga"] = lcarga;
     return View(orden);
 }
コード例 #3
0
ファイル: UbicacionController.cs プロジェクト: RenzoBit/SICAR
 public ActionResult Seguimiento(int[] idubicacion)
 {
     List<Orden> l = new List<Orden>();
     if (idubicacion.Length > 0)
     {
         Orden orden1 = null;
         Orden orden2 = null;
         Ubicacion ubicacion1 = null;
         bool existe;
         foreach (int i in idubicacion)
         {
             ubicacion1 = db.Ubicacion.Find(i);
             existe = false;
             foreach (Orden o in l)
                 if (o.idorden == ubicacion1.idorden)
                 {
                     o.lubicacion.Add(new Ubicacion() { idubicacion = ubicacion1.idubicacion, latitud = ubicacion1.latitud, longitud = ubicacion1.longitud, hora = ubicacion1.hora, direccion = ubicacion1.direccion });
                     existe = true;
                     break;
                 }
             if (!existe)
             {
                 orden1 = db.Orden.Include(x => x.transportista).SingleOrDefault(x => x.idorden == ubicacion1.idorden);
                 orden2 = new Orden() { idorden = orden1.idorden, numero = orden1.numero, fecha = orden1.fecha, transportista = orden1.transportista };
                 orden2.lubicacion.Add(new Ubicacion() { idubicacion = ubicacion1.idubicacion, latitud = ubicacion1.latitud, longitud = ubicacion1.longitud, hora = ubicacion1.hora, direccion = ubicacion1.direccion });
                 l.Add(orden2);
             }
         }
     }
     return View(l);
 }