public int guardarKardex(kardex K) { db.kardex.Add(K); db.SaveChanges(); int id = Convert.ToInt16(db.kardex.Max(p => p.id)); return id; }
public ActionResult Create(M_D_Venta MDV) { //Obteniendo el valor del Master int Maestro = Convert.ToInt16(Session["M_V"]); int TipoFacturacion = MDV.TipoFacturacion; float totalMaster = 0; int caja = Convert.ToInt16(Session["Caja_id"]); //recorriendo Arrays for (int i = 0; i < MDV.Cant.Count(); i++) { //Obtener Valores de la clase string cantidad = MDV.Cant[i]; string producto = MDV.id[i]; int producto_id = int.Parse(producto); float precio = db.producto.Where(x => x.id == producto_id).Select(x => x.precio_venta_u).Single(); float total = int.Parse(cantidad) * precio; if (cantidad != "") { d_venta DV = new d_venta(); DV.PRODUCTO_id = int.Parse(producto); DV.cantidad_producto = int.Parse(cantidad); DV.total = total; DV.M_VENTA_id = Maestro; DV.precio_u = precio; db.d_venta.Add(DV); db.SaveChanges(); int p = Convert.ToInt16(producto); //Guardo Lote int Lote = CAI.guardarLote(p, 1); kardex K = new kardex(); K.cantidad_producto = DV.cantidad_producto; K.fecha = DateTime.Today; K.precio_u = DV.precio_u; K.LOTE_id = Lote; K.SUCURSAL_id = Convert.ToInt16(Session["Sucursal_id"]); K.total_producto = DV.total; K.MOVIMIENTO_id = 2; int kar = CAI.guardarKardex(K); CAI.guardarInventario(Convert.ToInt16(producto), kar); totalMaster = totalMaster + DV.total; } } m_venta MV = db.m_venta.Where(p => p.id == Maestro).Select(p => p).Single(); MV.total = totalMaster; try { db.SaveChanges(); } catch (Exception e) { throw e; } if (TipoFacturacion == 1) //Nota de Credito Venta { return RedirectToAction("Create", "NotaCreditoVenta"); } else if(TipoFacturacion == 2) //tiquete { facturacion F = new facturacion(); F.TIPO_FACTURACION_id = TipoFacturacion; F.M_VENTA_id = MV.id; db.facturacion.Add(F); db.SaveChanges(); CIC.Ingreso(caja, totalMaster, Maestro); return Redirect("Index"); } else if (TipoFacturacion == 3) //Consumidor { CIC.Ingreso(caja, totalMaster, Maestro); return RedirectToAction("ConsumidorFinal"); } else if (TipoFacturacion == 4) //Credito fiscal { CIC.Ingreso(caja, totalMaster, Maestro); return RedirectToAction("CreditoFiscal"); } else { return RedirectToAction("Index"); } }
public ActionResult Create(M_D_Compra MDC) { //Obteniendo el valor del Master int Maestro = Convert.ToInt16(Session["M_C"]); int TIPOCOMPRA = MDC.TipoCompra; float totalMaster = 0; //recorriendo Arrays for (int i = 0; i < MDC.Cant.Count(); i++) { //Obtener Valores de la clase string cantidad = MDC.Cant[i]; string producto = MDC.id[i]; string costo = MDC.cost[i]; if (cantidad != "" && costo !="") { d_compra DC = new d_compra(); DC.M_COMPRA_id = Maestro; DC.PRODUCTO_id = Convert.ToInt16(producto); DC.cantidad_producto = Convert.ToInt16(cantidad); DC.costo_unitario = float.Parse(costo); DC.total = DC.cantidad_producto * DC.costo_unitario; db.d_compra.Add(DC); db.SaveChanges(); int p = Convert.ToInt16(producto); //Guardo Lote int Lote = CAI.guardarLote(p, 1); kardex K = new kardex(); K.cantidad_producto = DC.cantidad_producto; K.fecha = DateTime.Today; K.precio_u = DC.costo_unitario; K.LOTE_id = Lote; K.SUCURSAL_id = Convert.ToInt16(Session["Sucursal_id"]); K.total_producto = DC.total; K.MOVIMIENTO_id = 1; int kar = CAI.guardarKardex(K); CAI.guardarInventario(Convert.ToInt16(producto),kar); totalMaster = totalMaster + DC.total; } } m_compra MC = db.m_compra.Where(p => p.id == Maestro).Select(p => p).Single(); MC.TIPO_COMPRA_id = TIPOCOMPRA; MC.total_compra = totalMaster; try { db.SaveChanges(); } catch (Exception e) { throw e; } //Si es Nota de Credito if (MC.TIPO_COMPRA_id == 2) { return RedirectToAction("Create", "NotaCreditoVenta"); } else { Session["M_C"] = null; return RedirectToAction("Index"); } }