protected void cpSaveAdelanto_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e) { UnidadDeTrabajo wu = new UnidadDeTrabajo(); try { var sumAd = wu.AdelantosOrdenVenta.ObtenerSaldo_x_OrdenVenta(int.Parse(NumeroOrdenVenta)); if (decimal.Parse(seMonto.Text) > sumAd) { cpSaveAdelanto.JSProperties["cpMensajeResult"] = "El adelanto que intenta registrar supera el total de saldo!"; } else { AdelantosOrdenVenta ad = new AdelantosOrdenVenta { Fecha = DateTime.Now, IdUsuario = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1, Monto = decimal.Parse(seMonto.Text), Motivo = txtObserv.Text, IdOrdenVenta = int.Parse(NumeroOrdenVenta) }; wu.AdelantosOrdenVenta.Insertar(ad); wu.Grabar(); cpSaveAdelanto.JSProperties["cpMensajeResult"] = "Operación realizada correctamente"; } } catch (Exception ex) { cpSaveAdelanto.JSProperties["cpMensajeResult"] = "Error: " + ex.Message; } // OrdenVenta ov = wu.OrdenVenta.ObtenerPorId(int.Parse(e.Parameter.Split('|')[0])); // ov.CostoTotal = decimal.Parse(e.Parameter.Split('|')[1]); // ov.AdelantoPago = decimal.Parse(e.Parameter.Split('|')[2]); // wu.OrdenVenta.Actualizar(ov); // wu.Grabar(); // cpSaveCosto.JSProperties["cpMensajeResult"] = "Operación realizada con éxito"; //} }
protected void dgOrdenVentaDetalle_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e) { try { NumeroOrdenVenta = Request.QueryString["Id"]; using (var db = new UnidadDeTrabajo()) { if (NumeroOrdenVenta == "Nuevo") { int?idClienteN = null, IdClienteJ = null; if (int.Parse(rbOpciones.Value.ToString()) == 1) { idClienteN = int.Parse(hfIdCliente["IdPersona"].ToString()); } if (int.Parse(rbOpciones.Value.ToString()) == 2) { IdClienteJ = int.Parse(hfIdCliente["IdPersona"].ToString()); } OrdenVenta Cot = new OrdenVenta { Fecha = DateTime.Now, FechaCreacion = DateTime.Now, IdClienteNatural = idClienteN, IdClienteJuridico = IdClienteJ, IdUsuario = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1, TipoOrdenVenta = "Orden Venta - Orden Trabajo", DocumentoReferencia = "", IdEstado = 39, FechaEntrega = DateTime.Parse(deFechaEntrega.Value.ToString()) }; db.OrdenVenta.Insertar(Cot); db.Grabar(); if (!string.IsNullOrEmpty(seAdelanto.Text)) { AdelantosOrdenVenta ad = new AdelantosOrdenVenta { Fecha = DateTime.Now, IdUsuario = Session["IdUserActive"] != null?int.Parse(Session["IdUserActive"].ToString()) : 1, Monto = decimal.Parse(seAdelanto.Text), Motivo = "Al crear la orden de venta", IdOrdenVenta = Cot.Id }; db.AdelantosOrdenVenta.Insertar(ad); db.Grabar(); } foreach (var item in e.InsertValues) { db.OrdenVentaDetalle.InsertarValoresOrdenVentaDetalle(item.NewValues, Cot.Id, decimal.Parse(txtPrecioDolar.Text)); } NumeroOrdenVenta = Cot.Id.ToString(); string url = "OrdenesVenta.aspx?Id=" + NumeroOrdenVenta; Response.RedirectLocation = url; } else { foreach (var item in e.InsertValues) { db.OrdenVentaDetalle.InsertarValoresOrdenVentaDetalle(item.NewValues, int.Parse(NumeroOrdenVenta.ToString()), decimal.Parse(txtPrecioDolar.Text)); } foreach (var item in e.UpdateValues) { db.OrdenVentaDetalle.ActualizarOrdenVentaDetalle(item.Keys, item.NewValues, decimal.Parse(txtPrecioDolar.Text)); } foreach (var item in e.DeleteValues) { db.OrdenVentaDetalle.EliminarOrdenVentaDetalle(item.Keys); } } dgOrdenVentaDetalle.DataSource = db.OrdenVentaDetalle.ObtenerDetalleOrdenVenta(int.Parse(NumeroOrdenVenta), 1); dgOrdenVentaDetalle.DataBind(); } dgOrdenVentaDetalle.JSProperties["cpOperacionGrid"] = "Operación realizada con éxito"; } catch (Exception ex) { dgOrdenVentaDetalle.JSProperties["cpOperacionGrid"] = "Ha ocurrido un error inesperado: " + ex.Message; } e.Handled = true; }