示例#1
0
        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";
            //}
        }
示例#2
0
        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;
        }