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); }
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(); }
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; } } } }