private void gridView_detalle_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            try
            {
                fa_pre_facturacion_det_ing_egr_inven_Info row = (fa_pre_facturacion_det_ing_egr_inven_Info)gridView_detalle.GetRow(e.RowHandle);

                if (row == null)
                {
                    return;
                }

                if (e.Column == col_cantidad || e.Column == col_costo_uni)
                {
                    row.subtotal = Convert.ToDouble(row.eg_cantidad) * row.costo_uni;
                }
                if (e.Column == col_punto_cargo)
                {
                    ct_punto_cargo_Info row_pc = lst_punto_cargo.FirstOrDefault(q => q.IdPunto_cargo == row.IdPunto_cargo);
                    if (row_pc != null)
                    {
                        row.IdActivoFijo = row_pc.IdActivoFijo == null ? 0 : Convert.ToInt32(row_pc.IdActivoFijo);
                    }
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                                , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
예제 #2
0
 public bool guardarDB(fa_pre_facturacion_det_ing_egr_inven_Info item)
 {
     try
     {
         using (Entity_Facturacion_FJ Context = new Entity_Facturacion_FJ())
         {
             fa_pre_facturacion_det_ing_egr_inven Entity = new fa_pre_facturacion_det_ing_egr_inven();
             Entity.IdEmpresa                      = item.IdEmpresa;
             Entity.IdPreFacturacion               = item.IdPreFacturacion;
             Entity.Secuencia                      = item.Secuencia = get_id(item.IdEmpresa, item.IdPreFacturacion);
             Entity.eg_IdEmpresa                   = item.eg_IdEmpresa;
             Entity.eg_IdSucursal                  = item.eg_IdSucursal;
             Entity.eg_IdMovi_inven_tipo           = item.eg_IdMovi_inven_tipo;
             Entity.eg_IdNumMovi                   = item.eg_IdNumMovi;
             Entity.eg_Secuencia                   = item.eg_Secuencia;
             Entity.eg_cantidad                    = item.eg_cantidad;
             Entity.in_IdEmpresa                   = item.in_IdEmpresa;
             Entity.in_IdSucursal                  = item.in_IdSucursal;
             Entity.in_IdMovi_inven_tipo           = item.in_IdMovi_inven_tipo;
             Entity.in_IdNumMovi                   = item.in_IdNumMovi;
             Entity.in_Secuencia                   = item.in_Secuencia;
             Entity.in_cantidad                    = item.in_cantidad;
             Entity.IdProveedor                    = item.IdProveedor;
             Entity.cp_fecha                       = item.cp_fecha;
             Entity.cp_numero                      = item.cp_numero;
             Entity.IdActivoFijo                   = item.IdActivoFijo;
             Entity.costo_uni                      = item.costo_uni;
             Entity.subtotal                       = item.subtotal;
             Entity.IdProducto                     = item.IdProducto;
             Entity.IdCentroCosto                  = item.IdCentroCosto;
             Entity.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;
             Entity.eg_codigo                      = item.eg_codigo;
             Entity.eg_fecha                       = item.eg_fecha;
             Context.fa_pre_facturacion_det_ing_egr_inven.Add(Entity);
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception ex)
     {
         string MensajeError = "";
         string arreglo      = ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
         MensajeError = ex.ToString();
         throw new Exception(ex.ToString());
     }
 }
 public bool guardarDB(fa_pre_facturacion_det_ing_egr_inven_Info item)
 {
     try
     {
         return(oData.guardarDB(item));
     }
     catch (Exception ex)
     {
         string mensaje = ex.ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
         throw new Exception(mensaje);
     }
 }
 private void gridView_detalle_KeyDown(object sender, KeyEventArgs e)
 {
     try
     {
         if (e.KeyCode == Keys.Delete)
         {
             if (MessageBox.Show("¿Está seguro que desea eliminar este registro ?", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 fa_pre_facturacion_det_ing_egr_inven_Info row = (fa_pre_facturacion_det_ing_egr_inven_Info)gridView_detalle.GetFocusedRow();
                 bus_det.eliminarDB(row.IdEmpresa, row.IdPreFacturacion, row.Secuencia);
                 gridView_detalle.DeleteSelectedRows();
             }
         }
     }
     catch (Exception ex)
     {
         string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
         NameMetodo = NameMetodo + " - " + ex.ToString();
         MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                         , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
         Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
     }
 }
        private void btn_aprobar_egresos_Click(object sender, EventArgs e)
        {
            try
            {
                bool res = false;
                List <fa_pre_facturacion_det_ing_egr_inven_Info> lst_det_egr = new List <fa_pre_facturacion_det_ing_egr_inven_Info>(blst_egr.Where(q => q.seleccionado == true).ToList());
                List <fa_pre_facturacion_det_ing_egr_inven_Info> lst_det_ing = new List <fa_pre_facturacion_det_ing_egr_inven_Info>(blst_ing.Where(q => q.seleccionado == true).ToList());

                foreach (var item in lst_det_egr)
                {
                    int cont = 0;

                    fa_pre_facturacion_det_ing_egr_inven_Info info = new fa_pre_facturacion_det_ing_egr_inven_Info();
                    info           = lst_det_ing.OrderByDescending(q => q.cm_fecha).ToList().FirstOrDefault(q => q.IdProducto == item.IdProducto && q.saldo_aux > 0);
                    item.saldo_aux = item.eg_cantidad;
                    while (info != null && item.saldo_aux != 0)
                    {
                        fa_pre_facturacion_det_ing_egr_inven_Info info_guardar = new fa_pre_facturacion_det_ing_egr_inven_Info();
                        info_guardar                  = item;
                        info_guardar.IdEmpresa        = param.IdEmpresa;
                        info_guardar.IdPreFacturacion = info_prefacturacion.IdPreFacturacion;

                        info_guardar.in_IdEmpresa         = info.in_IdEmpresa;
                        info_guardar.in_IdSucursal        = info.in_IdSucursal;
                        info_guardar.in_IdMovi_inven_tipo = info.in_IdMovi_inven_tipo;
                        info_guardar.in_IdNumMovi         = info.in_IdNumMovi;
                        info_guardar.in_Secuencia         = info.in_Secuencia;
                        info_guardar.in_cantidad          = info.saldo_aux >= item.eg_cantidad ? Convert.ToDouble(item.eg_cantidad) : Convert.ToDouble(info.saldo_aux);
                        info_guardar.costo_uni            = info.costo_uni;
                        info_guardar.subtotal             = info.costo_uni * info_guardar.in_cantidad;
                        info_guardar.IdProveedor          = info.IdProveedor;
                        info_guardar.cp_fecha             = info.cp_fecha;
                        info_guardar.eg_fecha             = item.eg_fecha;
                        info_guardar.eg_codigo            = item.eg_codigo;
                        info_guardar.cp_numero            = info.cp_numero;
                        //Si el saldo del ingreso > cantidad egresada
                        if (info.saldo_aux >= item.eg_cantidad)
                        {
                            lst_det_ing.FirstOrDefault(q => q.in_IdEmpresa == info.in_IdEmpresa && q.in_IdSucursal == info.in_IdSucursal && q.in_IdMovi_inven_tipo == info.in_IdMovi_inven_tipo && q.in_IdNumMovi == info.in_IdNumMovi).saldo_aux -= item.in_cantidad;
                            item.saldo_aux = 0;
                        }
                        else //Si la cantidad egresada es mayor al ingreso
                        {
                            item.saldo_aux          -= info.saldo_aux;
                            info_guardar.eg_cantidad = info.saldo_aux;
                            lst_det_ing.FirstOrDefault(q => q.in_IdEmpresa == info.in_IdEmpresa && q.in_IdSucursal == info.in_IdSucursal && q.in_IdMovi_inven_tipo == info.in_IdMovi_inven_tipo && q.in_IdNumMovi == info.in_IdNumMovi).saldo_aux = 0;
                        }

                        res  = bus_det.guardarDB(info_guardar);
                        info = lst_det_ing.OrderByDescending(q => q.cm_fecha).ToList().FirstOrDefault(q => q.IdProducto == item.IdProducto && q.saldo_aux > 0);
                        cont++;
                    }

                    if (cont == 0)
                    {
                        fa_pre_facturacion_det_ing_egr_inven_Info info_guardar = new fa_pre_facturacion_det_ing_egr_inven_Info();
                        info_guardar                  = item;
                        info_guardar.IdEmpresa        = param.IdEmpresa;
                        info_guardar.IdPreFacturacion = info_prefacturacion.IdPreFacturacion;

                        info_guardar.in_IdSucursal        = null;
                        info_guardar.in_IdMovi_inven_tipo = null;
                        info_guardar.in_IdNumMovi         = null;
                        info_guardar.in_Secuencia         = null;
                        info_guardar.in_cantidad          = 0;
                        info_guardar.costo_uni            = 0;
                        info_guardar.subtotal             = 0;
                        info_guardar.IdProveedor          = null;
                        info_guardar.cp_fecha             = null;
                        info_guardar.eg_fecha             = item.eg_fecha;
                        info_guardar.eg_codigo            = item.eg_codigo;
                        info_guardar.cp_numero            = null;
                        res = bus_det.guardarDB(info_guardar);

                        item.saldo_aux = 0;
                    }

                    if (item.saldo_aux > 0)
                    {
                        fa_pre_facturacion_det_ing_egr_inven_Info info_guardar = new fa_pre_facturacion_det_ing_egr_inven_Info();
                        info_guardar                  = item;
                        info_guardar.IdEmpresa        = param.IdEmpresa;
                        info_guardar.IdPreFacturacion = info_prefacturacion.IdPreFacturacion;
                        info_guardar.eg_cantidad      = item.saldo_aux;

                        info_guardar.in_IdSucursal        = null;
                        info_guardar.in_IdMovi_inven_tipo = null;
                        info_guardar.in_IdNumMovi         = null;
                        info_guardar.in_Secuencia         = null;
                        info_guardar.in_cantidad          = 0;
                        info_guardar.costo_uni            = 0;
                        info_guardar.subtotal             = 0;
                        info_guardar.IdProveedor          = null;
                        info_guardar.cp_fecha             = null;
                        info_guardar.eg_fecha             = item.eg_fecha;
                        info_guardar.eg_codigo            = item.eg_codigo;
                        info_guardar.cp_numero            = null;
                        res = bus_det.guardarDB(info_guardar);
                    }
                }
                set_info_in_controls();
                buscar_egresos();
                buscar_ingresos();
                if (res)
                {
                    MessageBox.Show("Registros aprobados exitosamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                                , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }