/*Metodo que recupera los datos exixtentes de acuerdo al registro seleccionado*/ public JsonResult DatosProduccion(int produccion) { //La variable Productos es enviada desde la clase Editar en el index ListarEmpleados(); ListarProductos(); ListarProveedores(); ProduccionCLS pcls = new ProduccionCLS(); DetalleProduccionCLS dpcls = new DetalleProduccionCLS(); using (var db = new MyonexionEntities()) { Produccion Mprod = db.Produccion.Where(p => p.IdProduccion == produccion).First(); pcls.IdProducto = Mprod.IdProducto; pcls.Unidad = Mprod.Unidad; pcls.Turno = Mprod.Turno; pcls.EstadoFacturacion = Mprod.EstadoFacturacion; pcls.Proveedor = (int)Mprod.Proveedor; pcls.Despachado = (int)Mprod.Despachado; DetalleProduccion dprod = db.DetalleProduccion.Where(p => p.IdDetalleProduccion == produccion).First(); dpcls.Cantidad = dprod.Cantidad; dpcls.PrecioVenta = dprod.PrecioVenta; dpcls.FechaProduccion = dprod.FechaProduccion; } return(Json(pcls, JsonRequestBehavior.AllowGet)); }
/*Filtras la busqueda de productos*/ public ActionResult FiltroProduccion(ProduccionCLS prodcls, string Busqueda, DateTime FechaInicio, DateTime FechaFin) { List <ProduccionCLS> ListaProduccion = new List <ProduccionCLS>(); using (var db = new MyonexionEntities()) { if (FechaFin == null) { ListaProduccion = (from prod in db.Produccion join detprod in db.DetalleProduccion on prod.IdProduccion equals detprod.IdProduccion join emp in db.Empleados on prod.Despachado equals emp.IdEmpleado join prov in db.Proveedores on prod.Proveedor equals prov.IdProveedor join product in db.MisProductos on prod.IdProducto equals product.IdProducto orderby detprod.FechaProduccion descending select new ProduccionCLS { IdProduccion = prod.IdProduccion, Fecha = detprod.FechaProduccion, Producto = product.Producto, Turno = prod.Turno, EstadoFacturacion = prod.EstadoFacturacion, AProveedor = prov.NombreProveedor + " " + prov.SegundoNombre, ElEmpleado = emp.Nombre + " " + emp.Apellidos, UndsDespachadas = detprod.Cantidad + " " + prod.Unidad, //ojo con eso PrecioVenta = detprod.PrecioVenta, TotalVenta = detprod.TotalVenta }).ToList(); Session["ListaU"] = ListaProduccion; } else { ListaProduccion = (from prod in db.Produccion join detprod in db.DetalleProduccion on prod.IdProduccion equals detprod.IdProduccion where detprod.FechaProduccion >= FechaInicio && detprod.FechaProduccion <= FechaFin join emp in db.Empleados on prod.Despachado equals emp.IdEmpleado join prov in db.Proveedores on prod.Proveedor equals prov.IdProveedor join product in db.MisProductos on prod.IdProducto equals product.IdProducto orderby detprod.FechaProduccion descending select new ProduccionCLS { IdProduccion = prod.IdProduccion, Fecha = detprod.FechaProduccion, Producto = product.Producto, Turno = prod.Turno, EstadoFacturacion = prod.EstadoFacturacion, AProveedor = prov.NombreProveedor + " " + prov.SegundoNombre, ElEmpleado = emp.Nombre + " " + emp.Apellidos, UndsDespachadas = detprod.Cantidad + " " + prod.Unidad, //ojo con eso PrecioVenta = detprod.PrecioVenta, TotalVenta = detprod.TotalVenta }).ToList(); Session["ListaU"] = ListaProduccion; //Variable global que elmacena la lista } } return(PartialView("_TablaProduccion", ListaProduccion)); }
public string ProducciondelDia(ProduccionCLS PCLS, DetalleProduccionCLS detprodCLS, int Titulo) { string respuesta = ""; try { if (!ModelState.IsValid) { var query = (from state in ModelState.Values from error in state.Errors select error.ErrorMessage).ToList(); respuesta += "<ul class='list-group'>"; foreach (var item in query) { respuesta += "<li class='list-group-item'>" + item + "</li>"; } respuesta += "</ul>"; /*------------*/ } else { using (var db = new MyonexionEntities()) { using (var transaccion = db.Database.BeginTransaction()) { try { /*Se trta de realizar la transaccion, si todo sale bien se ejecutara un commit*/ if (Titulo == -1) { /*Primera insercion*/ Produccion prod = new Produccion(); prod.IdProducto = PCLS.IdProducto; prod.Unidad = PCLS.Unidad; prod.Turno = PCLS.Turno; prod.EstadoFacturacion = PCLS.EstadoFacturacion; prod.Proveedor = PCLS.Proveedor; prod.Despachado = PCLS.Despachado; db.Produccion.Add(prod); int IdProd = prod.IdProduccion; /*Insercion de los datos de la segunda tabla*/ DetalleProduccion detprod = new DetalleProduccion(); detprod.IdProduccion = IdProd; detprod.Cantidad = detprodCLS.Cantidad; detprod.PrecioVenta = detprodCLS.PrecioVenta; detprod.FechaProduccion = detprodCLS.FechaProduccion; db.DetalleProduccion.Add(detprod); respuesta = db.SaveChanges().ToString(); transaccion.Commit(); } if (Titulo >= 0) { /*Update primera tabla*/ //MisProductos MP = db.MisProductos.Where(p => p.IdProducto == Titulo).First(); Produccion prod = db.Produccion.Where(p => p.IdProduccion == Titulo).First(); prod.IdProducto = PCLS.IdProducto; prod.Unidad = PCLS.Unidad; prod.Turno = PCLS.Turno; prod.EstadoFacturacion = PCLS.EstadoFacturacion; prod.Proveedor = PCLS.Proveedor; prod.Despachado = PCLS.Despachado; respuesta = db.SaveChanges().ToString(); int IdProd = prod.IdProduccion;//Temporal /*Update segunda tabla*/ DetalleProduccion detprod = db.DetalleProduccion.Where(p => p.IdDetalleProduccion == Titulo).First(); detprod.IdProduccion = IdProd; detprod.Cantidad = detprodCLS.Cantidad; detprod.PrecioVenta = detprodCLS.PrecioVenta; detprod.FechaProduccion = detprodCLS.FechaProduccion; respuesta = db.SaveChanges().ToString(); transaccion.Commit(); } } catch { transaccion.Rollback(); /*Si ocurre un error durante la transaccion * todo el proceso se anulara*/ } } } } } catch (Exception) { respuesta = ""; } return(respuesta); }