public ActionResult Aprobar(Pedido pedido) { try { var pedidoP = new PedidoProcess(); var monto = pedido.Monto; pedido = pedidoP.GetByID(pedido.Id); pedido.Monto = monto; pedido.Aprobado = "Si"; pedido.Estado = "Pendiente de Pago"; pedidoP.Editar(pedido); Bitacora bitacora = new Bitacora("Aprobar", "Tabla Pedido", User.Identity.Name, DateTime.Now); BitacoraProcess bitacorap = new BitacoraProcess(); bitacorap.Create(bitacora); TempData["Message"] = Recursos.Recurso.pedido1; return(RedirectToAction("Index")); } catch (Exception ex) { Bitacora bitacora = new Bitacora("Aprobar Tabla Pedido", ex.Message.ToString(), User.Identity.Name, DateTime.Now); BitacoraProcess bitacorap = new BitacoraProcess(); bitacorap.Create(bitacora); return(View()); } }
public ActionResult PagarUsuario(int id) { try { var pedidoP = new PedidoProcess(); var ped = pedidoP.GetByID(id); int salida = 0; var depositoP = new DepositoProcess(); var deposito = new Deposito(); var listadeposito = depositoP.Listar(); foreach (var item in listadeposito) { deposito = item; } ped.Estado = "Pagado"; var ventaP = new VentaProcess(); var venta = new Venta(); var usuariop = new UsuarioProcess(); Usuario usuario = new Usuario(); var listausuarios = usuariop.Listar(); foreach (var item in listausuarios) { if (item.UserName == User.Identity.Name) { usuario = item; } } var materiaprimaprodP = new MateriaPrimaProductoProcess(); var materiaprima = new List <StockMateriaPrimaDeposito>(); var listamateriaprimaprod = materiaprimaprodP.Listar(); foreach (var item in listamateriaprimaprod) { if (item.CodProducto == ped.Codproducto) { var mt = new StockMateriaPrimaDeposito(); mt.Cantidad = item.Cantidad * ped.Cantidad; mt.CodMateriaPrima = item.CodMateriaPrima; materiaprima.Add(mt); } } var stockP = new StockMateriaPrimaDepositoProcess(); var reposicionP = new ReposicionProcess(); var ProveedormateriaprimaP = new MateriaPrimaProveedorProcess(); Proveedor proveedor = new Proveedor(); var materiaprimaProveedor = new MateriaPrimaProveedorProcess(); var listastockmateriaprima = stockP.Listar(); foreach (var item in listastockmateriaprima) { double valor1 = 0; double valor2 = 0; foreach (var itemMP in materiaprima) { if (item.CodMateriaPrima == itemMP.CodMateriaPrima) { if (item.Cantidad < itemMP.Cantidad) { var reposicion = new Reposicion(); reposicion.CodMateriaPrima = item.CodMateriaPrima; reposicion.CodDeposito = deposito.Id; reposicion.Fecha = DateTime.Now; reposicion.Cantidad = itemMP.Cantidad - item.Cantidad; reposicion.Estado = "Reposicion Compra"; foreach (var itemProveedor in ProveedormateriaprimaP.Listarpormateriaprima(itemMP.CodMateriaPrima)) { if (valor2 == 0) { reposicion.Proveedor = itemProveedor.Proveedor; reposicion.CodProveedor = itemProveedor.Proveedor.Id; valor2 = 1; } } foreach (var itemPROV in materiaprimaProveedor.Listarpormateriaprima(itemMP.CodMateriaPrima)) { if (itemPROV.CodMateriaPrima == reposicion.CodMateriaPrima && itemPROV.CodProveedor == reposicion.CodProveedor) { valor1 = itemPROV.Precio; } } reposicion.Monto = valor1 * reposicion.Cantidad; reposicionP.Crear(reposicion); item.Cantidad = 0; stockP.Edit(item); salida = 1; } else { item.Cantidad = item.Cantidad - itemMP.Cantidad; stockP.Edit(item); } } } } venta.CodEmpleado = usuario.CodEmpleado; venta.CodPedido = ped.Id; venta.Formadepago = "Efectivo"; if (venta.Formadepago == "Efectivo" && ped.Comprador.SocioEstado == "Si") { venta.Monto = ped.Monto * 0.90; } else { if (venta.Formadepago == "Efectivo") { venta.Monto = ped.Monto * 0.95; } if (ped.Comprador.SocioEstado == "Si") { venta.Monto = ped.Monto * 0.95; } } venta.Pagado = "Si"; ped.Monto = venta.Monto; pedidoP.Editar(ped); var envioP = new EnvioProcess(); var envio = new Envio(); envio.CodVenta = ventaP.Crear(venta).Id; envio.Direccion = ped.Comprador.Domicilio; envio.Estado = "En Espera"; envio.Fechadellegada = DateTime.Now; DateTime today = DateTime.Now; if (salida == 1) { envio.Fechadesalida = today.AddDays(14); } else { envio.Fechadesalida = today.AddDays(7); } envioP.Crear(envio); TempData["Message"] = Recursos.Recurso.pedido3; Bitacora bitacora = new Bitacora("Pagar", "Tabla Pedido", User.Identity.Name, DateTime.Now); BitacoraProcess bitacorap = new BitacoraProcess(); bitacorap.Create(bitacora); return(RedirectToAction("IndexUsuario")); } catch (Exception ex) { Bitacora bitacora = new Bitacora("Pagar Tabla Pedido", ex.Message.ToString(), User.Identity.Name, DateTime.Now); BitacoraProcess bitacorap = new BitacoraProcess(); bitacorap.Create(bitacora); return(View()); } }