Example #1
0
 private void CalcularPrecios(VwArticulolistaprecio item)
 {
     item.Preciocontado        = Decimal.Round(item.Costolista * (1 + item.Porcentajemargencontado / 100), 2, MidpointRounding.AwayFromZero);
     item.Preciocreditoopcion1 = Decimal.Round(item.Costolista * (1 + item.Porcentajemargencreditoopcion1 / 100), 2, MidpointRounding.AwayFromZero);
     item.Preciocreditoopcion2 = Decimal.Round(item.Costolista * (1 + item.Porcentajemargencreditoopcion2 / 100), 2, MidpointRounding.AwayFromZero);
     item.Preciosugerido       = Decimal.Round(item.Costolista * (1 + item.Porcentajemargenpreciosugerido / 100), 2, MidpointRounding.AwayFromZero);
 }
Example #2
0
        private void gvDetalle_CellValueChanged(object sender, CellValueChangedEventArgs e)
        {
            VwArticulolistaprecio item = (VwArticulolistaprecio)gvDetalle.GetFocusedRow();

            switch (e.Column.FieldName)
            {
            case "Costolista":
                CalcularPrecios(item);
                break;

            case "Porcentajemargencontado":
                item.Preciocontado = Decimal.Round(item.Costolista * (1 + item.Porcentajemargencontado / 100), 2, MidpointRounding.AwayFromZero);
                break;

            case "Preciocontado":
                if (item.Costolista > 0m)
                {
                    item.Porcentajemargencontado = decimal.Round(((item.Preciocontado * 100) / item.Costolista) - 100, 2, MidpointRounding.AwayFromZero);
                }
                break;

            case "Porcentajemargencreditoopcion1":
                item.Preciocreditoopcion1 = Decimal.Round(item.Costolista * (1 + item.Porcentajemargencreditoopcion1 / 100), 2, MidpointRounding.AwayFromZero);
                break;

            case "Preciocreditoopcion1":
                if (item.Costolista > 0m)
                {
                    item.Porcentajemargencreditoopcion1 = decimal.Round(((item.Preciocreditoopcion1 * 100) / item.Costolista) - 100, 2, MidpointRounding.AwayFromZero);
                }
                break;

            case "Porcentajemargencreditoopcion2":
                item.Preciocreditoopcion2 = Decimal.Round(item.Costolista * (1 + item.Porcentajemargencreditoopcion2 / 100), 2, MidpointRounding.AwayFromZero);
                break;

            case "Preciocreditoopcion2":
                if (item.Costolista > 0m)
                {
                    item.Porcentajemargencreditoopcion2 = decimal.Round(((item.Preciocreditoopcion2 * 100) / item.Costolista) - 100, 2, MidpointRounding.AwayFromZero);
                }
                break;

            case "Porcentajemargenpreciosugerido":
                item.Preciosugerido = Decimal.Round(item.Costolista * (1 + item.Porcentajemargenpreciosugerido / 100), 2, MidpointRounding.AwayFromZero);
                break;

            case "Preciosugerido":
                if (item.Costolista > 0m)
                {
                    item.Porcentajemargenpreciosugerido = decimal.Round(((item.Preciosugerido * 100) / item.Costolista) - 100, 2, MidpointRounding.AwayFromZero);
                }
                break;
            }
            item.Lastmodified    = DateTime.Now;
            item.DataEntityState = DataEntityState.Modified;
            gvDetalle.UpdateCurrentRow();
            gvDetalle.PostEditor();
        }
Example #3
0
        private void btnActualizar_Click(object sender, EventArgs e)
        {
            gvDetalle.PostEditor();

            if (DialogResult.Yes == XtraMessageBox.Show("Desea actualizar la Lista de precios",
                                                        "AtenciĆ³n", MessageBoxButtons.YesNo,
                                                        MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
            {
                foreach (var item in VwArticulolistaprecioList)
                {
                    //Si se modifico la cantidad
                    if (item.DataEntityState == DataEntityState.Modified)
                    {
                        Articulolistaprecio itemRedDet = Service.GetArticulolistaprecio(item.Idarticulolistaprecio);
                        itemRedDet.Costolista = item.Costolista;
                        itemRedDet.Porcentajemargencontado        = item.Porcentajemargencontado;
                        itemRedDet.Preciocontado                  = item.Preciocontado;
                        itemRedDet.Porcentajemargencreditoopcion1 = item.Porcentajemargencreditoopcion1;
                        itemRedDet.Preciocreditoopcion1           = item.Preciocreditoopcion1;
                        itemRedDet.Porcentajemargencreditoopcion2 = item.Porcentajemargencreditoopcion2;
                        itemRedDet.Preciocreditoopcion2           = item.Preciocreditoopcion2;
                        itemRedDet.Porcentajemargenpreciosugerido = item.Porcentajemargenpreciosugerido;
                        itemRedDet.Preciosugerido                 = item.Preciosugerido;
                        itemRedDet.Lastmodified = item.Lastmodified;

                        Service.UpdateArticulolistaprecio(itemRedDet);
                    }
                }

                VwArticulolistaprecio vwArticulolistaprecio = (VwArticulolistaprecio)gvDetalle.GetFocusedRow();

                if (vwArticulolistaprecio.Idarticulolistaprecio > 0)
                {
                    CargarDetalle();
                    //Enfocar el id generado
                    if (gvDetalle.RowCount > 0)
                    {
                        gvDetalle.BeginUpdate();
                        var rowHandle = gvDetalle.LocateByValue("Idarticulolistaprecio", vwArticulolistaprecio.Idarticulolistaprecio);
                        if (rowHandle == GridControl.InvalidRowHandle)
                        {
                            gvDetalle.EndUpdate();
                            return;
                        }
                        gvDetalle.EndUpdate();
                        gvDetalle.FocusedRowHandle = rowHandle;
                    }
                }
            }
        }