示例#1
0
        public List <fa_pedido_Info> Get_List_pedido(int IdEmpresa)
        {
            try
            {
                List <fa_pedido_Info> lM = new List <fa_pedido_Info>();

                EntitiesFacturacion OEPPedido = new EntitiesFacturacion();

                var consulta = from q in OEPPedido.vwFa_Total_pedidos_x_cliente_No_despachados
                               where q.IdEmpresa == IdEmpresa
                               select q;

                foreach (var item in consulta)
                {
                    fa_pedido_Info info = new fa_pedido_Info();
                    info.IdEmpresa = IdEmpresa;
                    info.IdCliente = item.IdCliente;
                    info.dp_total  = Convert.ToDouble(item.dp_total);


                    lM.Add(info);
                }

                return(lM);
            }
            catch (Exception ex)
            {
                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);
                mensaje = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.ToString());
            }
        }
示例#2
0
        void ucGe_Menu_Mantenimiento_x_usuario_event_btnNuevo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                info = new fa_pedido_Info();

                info_sucursal = new tb_Sucursal_Info();
                info_sucursal = ucGe_Menu_Mantenimiento_x_usuario.getSucursal_Info;

                info_bodega = new tb_Bodega_Info();
                info_bodega = ucGe_Menu_Mantenimiento_x_usuario.getBodega_Info;

                info.IdSucursal = ucGe_Menu_Mantenimiento_x_usuario.getIdSucursal;
                info.IdBodega   = 1;// ucGe_Menu_Mantenimiento_x_usuario.getIdBodega;

                frm = new frmFa_Pedido_Mant();
                frm.Event_frmFA_Pedido_Mant_FormClosing += new frmFa_Pedido_Mant.delegate_frmFA_Pedido_Mant_FormClosing(frm_Event_frmFA_Pedido_Mant_FormClosing);
                frm.idsucursal = info.IdSucursal;
                frm.idbodega   = info.IdBodega;

                frm.Accion    = Cl_Enumeradores.eTipo_action.grabar;
                frm.MdiParent = this.MdiParent;
                frm.Show();
                CargaGrid(param.IdEmpresa, ucGe_Menu_Mantenimiento_x_usuario.fecha_desde, ucGe_Menu_Mantenimiento_x_usuario.fecha_hasta);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
示例#3
0
 private void gridViewPedidos_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
 {
     try
     {
         info = GetSelectedRow((DevExpress.XtraGrid.Views.Grid.GridView)sender);
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
     }
 }
示例#4
0
        public List <fa_orden_Desp_det_Info> Get_List_orden_Desp_x_Pedido(fa_pedido_Info Info)
        {
            try
            {
                List <fa_orden_Desp_det_Info> lst   = new List <fa_orden_Desp_det_Info>();
                EntitiesFacturacion           oenti = new EntitiesFacturacion();
                var detalle = from q in oenti.vwfa_orden_Desp_det_x_Pedido_det
                              join cab in oenti.fa_orden_Desp
                              on new { q.IdEmpresa, q.IdSucursal, q.IdBodega, q.IdOrdenDespacho } equals new { cab.IdEmpresa, cab.IdSucursal, cab.IdBodega, cab.IdOrdenDespacho }
                where q.IdBodega == Info.IdBodega && q.IdSucursal == Info.IdSucursal && q.pe_IdPedido == Info.IdPedido &&
                q.IdEmpresa == Info.IdEmpresa && cab.Estado == "A"
                select q;
                foreach (var item in detalle)
                {
                    fa_orden_Desp_det_Info set = new fa_orden_Desp_det_Info();
                    set.IdPedido           = (decimal)item.pe_IdPedido;
                    set.IdEmpresa          = item.IdEmpresa;
                    set.IdSucursal         = item.IdSucursal;
                    set.IdBodega           = item.IdBodega;
                    set.IdOrdenDespacho    = item.IdOrdenDespacho;
                    set.Secuencia          = item.Secuencia;
                    set.IdProducto         = item.IdProducto;
                    set.od_cantidad        = (float)item.od_cantidad;
                    set.od_Precio          = (float)item.od_Precio;
                    set.od_PorDescUnitario = (float)item.od_PorDescUnitario;
                    set.od_DescUnitario    = (float)item.od_DescUnitario;
                    set.od_PrecioFinal     = (float)item.od_PrecioFinal;
                    set.od_Subtotal        = (float)item.od_Subtotal;
                    set.od_iva             = (float)item.od_iva;
                    set.od_total           = (float)item.od_total;
                    set.od_costo           = (float)item.od_costo;
                    set.od_tieneIVA        = item.od_tieneIVA;
                    set.od_detallexItems   = item.od_detallexItems;

                    set.pr_descripcion = item.pr_descripcion;
                    lst.Add(set);
                }
                return(lst);
            }
            catch (Exception ex)
            {
                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);
                mensaje = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.ToString());
            }
        }
示例#5
0
 public Boolean VerificarOrdenDespacho(fa_pedido_Info info)
 {
     try
     {
         return(data.VerificarOrdenDespacho(info));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "VerificarOrdenDespacho", ex.Message), ex)
               {
                   EntityType = typeof(fa_pedido_det_Bus)
               };
     }
 }
示例#6
0
 public List <fa_orden_Desp_det_Info> Get_List_orden_Desp_x_Pedido(fa_pedido_Info Info)
 {
     try
     {
         return(odata.Get_List_orden_Desp_x_Pedido(Info));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ConsultaxOrdDespachoxPedido", ex.Message), ex)
               {
                   EntityType = typeof(fa_OrdenDespachoDet_bus)
               };
     }
 }
示例#7
0
 public Boolean AnularDB(fa_pedido_Info info, ref string msg)
 {
     try
     {
         return(data.AnularDB(info, ref msg));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Anular", ex.Message), ex)
               {
                   EntityType = typeof(fa_pedido_Bus)
               };
     }
 }
示例#8
0
        public Boolean validarObjeto(fa_pedido_Info info, ref string mensajeE)
        {
            try
            {
                if (info.IdEmpresa == 0 || info.IdSucursal == 0 || info.IdBodega == 0)
                {
                    mensajeE = "Uno de los Pk de Pedidos esta en cero IdEmpresa=" + info.IdEmpresa + " IdSucursal=" + info.IdSucursal + " idbodega=" + info.IdBodega;
                    return(false);
                }



                if (info.IdCliente == 0 || info.IdVendedor == 0)
                {
                    mensajeE = "Un de los IdCliente o IdVendedor esta en cero IdCliente=" + info.IdCliente + " IdVendedor=" + info.IdVendedor;
                    return(false);
                }

                info.cp_fecha            = Convert.ToDateTime(info.cp_fecha.ToShortDateString());
                info.cp_fechaVencimiento = Convert.ToDateTime(info.cp_fechaVencimiento.ToShortDateString());
                info.cp_observacion      = (info.cp_observacion == null) ? "" : info.cp_observacion;
                info.cp_tipopago         = (info.cp_tipopago == null) ? "CON" : info.cp_tipopago;
                info.Entregado           = (info.Entregado == null) ? "N" : info.Entregado;
                info.Estado = (info.Estado == null) ? "A" : info.Estado;

                if (info.IdEstadoAprobacion == null)
                {
                    fa_pedido_estadoAprobacion_Bus         PedEstA      = new fa_pedido_estadoAprobacion_Bus();
                    List <fa_pedido_estadoAprobacion_Info> ListEstaApro = new List <fa_pedido_estadoAprobacion_Info>();

                    ListEstaApro = PedEstA.Get_List_EstadoAprobacion();
                }

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "validarObjeto", ex.Message), ex)
                      {
                          EntityType = typeof(fa_pedido_Bus)
                      };
            }
        }
示例#9
0
        public Boolean GrabarDB(fa_pedido_Info info, ref decimal id, ref string msg)
        {
            try
            {
                if (Validar_y_corregir_objeto_Pedido(ref info, ref msg))
                {
                    return(data.GrabarDB(info, ref id, ref msg));
                }

                return(false);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex)
                      {
                          EntityType = typeof(fa_pedido_Bus)
                      };
            }
        }
示例#10
0
        public Boolean AnularDB(fa_pedido_Info info, ref string msg)
        {
            try
            {
                using (EntitiesFacturacion context = new EntitiesFacturacion())
                {
                    var contact = context.fa_pedido.FirstOrDefault(obj => obj.IdEmpresa == info.IdEmpresa && obj.IdSucursal == info.IdSucursal && obj.IdBodega == info.IdBodega && obj.IdPedido == info.IdPedido);
                    if (contact != null)
                    {
                        contact.Estado          = "I";
                        contact.cp_observacion  = "**Anulado**" + contact.cp_observacion;
                        contact.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                        contact.Fecha_UltAnu    = DateTime.Now;
                        List <fa_pedido_det_Info> listaAux = new List <fa_pedido_det_Info>();
                        listaAux = pedido_data.Get_List_pedido_det(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdPedido);

                        (from q in listaAux select q).ToList().ForEach(q => q.dp_cantidad = q.dp_cantidad * -1);

                        data_producto_bodega.ModificarDB(listaAux);

                        context.SaveChanges();
                        msg = "Se ha procedido Anular el registro del Pedido #: " + info.IdPedido.ToString() + " exitosamente";
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                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);
                msg = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref msg);
                throw new Exception(ex.ToString());
            }
        }
示例#11
0
        public Boolean ModificarDB(fa_pedido_Info info, ref string msg)
        {
            try
            {
                fa_pedido_det_Data        pedido_data = new fa_pedido_det_Data();
                List <fa_pedido_det_Info> listaAux    = new List <fa_pedido_det_Info>();

                listaAux = pedido_data.Get_List_pedido_det(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdPedido);

                #region variables List para verificar ordenes despacho
                List <fa_orden_Desp_det_x_fa_pedido_det_Info> ListaOrdenDEspachoxPedido = new List <fa_orden_Desp_det_x_fa_pedido_det_Info>();
                List <fa_orden_Desp_det_x_fa_pedido_det_Info> lstemporal = new List <fa_orden_Desp_det_x_fa_pedido_det_Info>();
                #endregion

                #region verificar ordenes de despacho para Talme

                fa_orden_Desp_det_x_fa_pedido_det_Data odata = new fa_orden_Desp_det_x_fa_pedido_det_Data();
                fa_orden_Desp_Info infoPedido = new fa_orden_Desp_Info();

                infoPedido.IdEmpresa  = info.IdEmpresa;
                infoPedido.IdBodega   = info.IdBodega;
                infoPedido.IdSucursal = info.IdSucursal;
                infoPedido.IdPedido   = info.IdPedido;

                ListaOrdenDEspachoxPedido = odata.Get_List_fa_orden_Desp_det_x_fa_pedido_det_x_Pedido(infoPedido);

                if (ListaOrdenDEspachoxPedido.Count() == 0)
                {
                    return(data.ModificarDB(info, ref msg));
                }
                else
                {
                    foreach (var itemODP in ListaOrdenDEspachoxPedido)
                    {
                        fa_orden_Desp_det_x_fa_pedido_det_Info temp = new fa_orden_Desp_det_x_fa_pedido_det_Info();

                        temp.od_cantidad        = itemODP.od_cantidad;
                        temp.od_IdBodega        = itemODP.od_IdBodega;
                        temp.od_IdEmpresa       = itemODP.od_IdEmpresa;
                        temp.od_IdOrdenDespacho = itemODP.od_IdOrdenDespacho;
                        temp.od_IdProducto      = itemODP.od_IdProducto;
                        temp.od_IdSucursal      = itemODP.od_IdSucursal;
                        temp.od_Secuencia       = itemODP.od_Secuencia;
                        temp.pe_IdBodega        = itemODP.pe_IdBodega;
                        temp.pe_IdEmpresa       = itemODP.pe_IdEmpresa;
                        temp.pe_IdPedido        = itemODP.pe_IdPedido;
                        temp.pe_IdProducto      = itemODP.pe_IdProducto;
                        temp.pe_IdSucursal      = itemODP.pe_IdSucursal;

                        temp.pe_Secuencia = itemODP.pe_Secuencia;

                        lstemporal.Add(temp);
                    }

                    #region Elimina los datos de la tabla  "fa_orden_Desp_det_x_fa_pedido_det"
                    fa_orden_Desp_det_x_fa_pedido_det_Data odata1 = new fa_orden_Desp_det_x_fa_pedido_det_Data();
                    fa_orden_Desp_Info info1 = new fa_orden_Desp_Info();

                    info1.ListaAuxiliar = ListaOrdenDEspachoxPedido;
                    odata1.EliminarDB(info1);
                    #endregion

                    #region asigno el valor de las columnas "Esta_en_Base" y "Tiene_Despacho"
                    foreach (var item1 in listaAux)
                    {
                        foreach (var item2 in info.lista_detalle)
                        {
                            if (item1.IdProducto == item2.IdProducto && item1.Secuencial == item2.Secuencial)
                            {
                                item2.Tiene_Despacho = item1.Tiene_Despacho;
                                item2.Esta_en_Base   = item1.Esta_en_Base;
                            }
                        }
                    }
                    #endregion

                    #region buscar max secuencia detalle pedido
                    fa_pedido_det_Data odatape = new fa_pedido_det_Data();
                    int SecuenciaMax           = 0;
                    SecuenciaMax = odatape.GetIdPedido(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdPedido);
                    #endregion

                    #region asigno el nuevo secuencial al nuevo item en detalle pedido
                    foreach (var item2 in info.lista_detalle)
                    {
                        if (item2.IdProducto != 0)
                        {
                            if (item2.Esta_en_Base == "N" || item2.Esta_en_Base == null)
                            {
                                SecuenciaMax     = SecuenciaMax + 1;
                                item2.Secuencial = SecuenciaMax;
                            }
                        }
                    }
                    #endregion

                    #region Grabo el nuevo detalle pedido
                    in_producto_x_tb_bodega_Data data_producto_bodega = new in_producto_x_tb_bodega_Data();

                    (from q in listaAux select q).ToList().ForEach(q => q.dp_cantidad = q.dp_cantidad * -1);

                    data_producto_bodega.ModificarDB(listaAux);

                    foreach (var item in listaAux)
                    {
                        pedido_data.EliminarDB(item, ref msg);
                    }

                    data_producto_bodega.ModificarDB(info.lista_detalle);

                    foreach (var item in info.lista_detalle)
                    {
                        if (item.IdProducto != 0)
                        {
                            pedido_data.GrabarDB(item, ref msg);
                        }
                    }
                    msg = "Se ha procedido actualizar el registro del Pedido #: " + info.IdPedido.ToString() + " exitosamente";

                    #endregion

                    #region guardo en tabla "fa_orden_Desp_det_x_fa_pedido_det"
                    fa_orden_Desp_det_x_fa_pedido_det_Data odataOD = new fa_orden_Desp_det_x_fa_pedido_det_Data();
                    fa_orden_Desp_Info Info_OD = new fa_orden_Desp_Info();

                    foreach (var item in lstemporal)
                    {
                        fa_orden_Desp_det_Info Infotemp = new fa_orden_Desp_det_Info();

                        Infotemp.IdEmpresa       = item.pe_IdEmpresa;
                        Infotemp.IdSucursal      = item.pe_IdSucursal;
                        Infotemp.IdBodega        = item.pe_IdBodega;
                        Infotemp.IdProducto      = item.pe_IdProducto;
                        Infotemp.IdOrdenDespacho = item.od_IdOrdenDespacho;
                        Infotemp.Secuencia       = item.od_Secuencia;
                        Infotemp.SecuenciaPedido = item.pe_Secuencia;
                        Infotemp.IdPedido        = item.pe_IdPedido;
                        Infotemp.od_cantidad     = item.od_cantidad;
                        Info_OD.ListaDetalle.Add(Infotemp);
                    }

                    odataOD.GuardarDB(Info_OD);
                    #endregion
                }

                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ModificarDB", ex.Message), ex)
                      {
                          EntityType = typeof(fa_pedido_Bus)
                      };
            }
        }
示例#12
0
        private Boolean Validar_y_corregir_objeto_Pedido(ref fa_pedido_Info Pedido_info, ref string msg)
        {
            try
            {
                #region 'Validaciones'
                /*--- validaciones */

                if (Pedido_info.IdEmpresa <= 0 && Pedido_info.IdSucursal <= 0 && Pedido_info.IdBodega <= 0)
                {
                    msg = "Erro en la cabecera de pedido uno de los PK es <=0";
                    return(false);
                }

                if (Pedido_info.IdCliente <= 0 && Pedido_info.IdVendedor <= 0)
                {
                    msg = "Erro en la cabecera de pedido idcliente o idvendedor es <=0";
                    return(false);
                }

                if (Pedido_info.IdEstadoAprobacion == null || Pedido_info.IdEstadoAprobacion == "")
                {
                    msg = "Erro en la cabecera de pedido el estado aprobación es obligatorio o está en blanco";
                    return(false);
                }

                //if (string.IsNullOrEmpty(Factura_info.IdTipoFormaPago) == true)
                //{
                //    msg = "Erro en la cabecera de idformaPago es obligatoria o esta en blanco ";
                //    return false;
                //}

                if (Pedido_info.lista_detalle.Count == 0)
                {
                    msg = "el pedido no tiene detalle ";
                    return(false);
                }


                foreach (var item in Pedido_info.lista_detalle)
                {
                    if (item.dp_cantidad == 0 && item.IdProducto != 0)
                    {
                        msg = "el producto id:" + item.IdProducto + " tiene cantidad cero ";
                        return(false);
                    }

                    if (item.dp_subtotal == 0 && item.IdProducto != 0)
                    {
                        msg = "el producto id:" + item.IdProducto + " tiene subtotal cero ";
                        return(false);
                    }
                }


                // verifica precios repetidos
                foreach (var item in Pedido_info.lista_detalle)
                {
                    if (item.IdProducto != 0)
                    {
                        var cont = from C in Pedido_info.lista_detalle
                                   where C.IdProducto == item.IdProducto && C.dp_precio == item.dp_precio
                                   select C;
                        if (cont.Count() > 1)
                        {
                            msg = "el producto : " + item.DesProduct + " ,tiene precios iguales";
                            return(false);
                        }
                        else
                        {
                        }
                    }
                }

                /*--- Fin validaciones */

                /*--- corrigiendo data */

                Pedido_info.Estado              = (string.IsNullOrEmpty(Pedido_info.Estado) == true) ? "A" : Pedido_info.Estado;
                Pedido_info.cp_fecha            = Convert.ToDateTime(Pedido_info.cp_fecha.ToShortDateString());
                Pedido_info.cp_fechaVencimiento = Convert.ToDateTime(Pedido_info.cp_fechaVencimiento.ToShortDateString());
                Pedido_info.cp_observacion      = (string.IsNullOrEmpty(Pedido_info.cp_observacion) == true) ? "" : Pedido_info.cp_observacion;
                Pedido_info.cp_tipopago         = (string.IsNullOrEmpty(Pedido_info.cp_tipopago) == true) ? "CON" : Pedido_info.cp_tipopago;
                Pedido_info.IdUsuario           = (string.IsNullOrEmpty(Pedido_info.IdUsuario) == true) ? param.IdUsuario : Pedido_info.IdUsuario;
                Pedido_info.Fecha_Transac       = (Pedido_info.Fecha_Transac == null) ? param.Fecha_Transac : Pedido_info.Fecha_Transac;
                Pedido_info.ip = (string.IsNullOrEmpty(Pedido_info.ip) == true) ? param.ip : Pedido_info.ip;

                if (Pedido_info.cp_diasPlazo <= 0)
                {
                    Pedido_info.cp_diasPlazo = (Pedido_info.cp_fechaVencimiento - Pedido_info.cp_fecha).Days;
                }
                else
                {
                    Pedido_info.cp_diasPlazo = Pedido_info.cp_diasPlazo;
                }

                //foreach (var item in Factura_info.DetFactura_List)
                //{
                //    item.IdEmpresa = Factura_info.IdEmpresa;
                //    item.IdSucursal = Factura_info.IdSucursal;
                //    item.IdBodega = Factura_info.IdBodega;
                //}


                if (Pedido_info.DetformaPago_list.Count == 0)
                {
                    /// no hay forma de pago le inserto un contado
                    ///
                    List <fa_pedido_x_formaPago_Info> listFormaPago = new List <fa_pedido_x_formaPago_Info>();
                    fa_pedido_x_formaPago_Info        ItemFormaPago = new fa_pedido_x_formaPago_Info();

                    ItemFormaPago.IdEmpresa        = Pedido_info.IdEmpresa;
                    ItemFormaPago.IdSucursal       = Pedido_info.IdSucursal;
                    ItemFormaPago.IdBodega         = Pedido_info.IdBodega;
                    ItemFormaPago.IdPedido         = Pedido_info.IdPedido;
                    ItemFormaPago.Secuencia        = 1;
                    ItemFormaPago.Fecha            = Pedido_info.cp_fecha;
                    ItemFormaPago.Fecha_vtc        = Pedido_info.cp_fechaVencimiento;
                    ItemFormaPago.Dias_Plazo       = (Pedido_info.cp_fechaVencimiento - Pedido_info.cp_fecha).Days;
                    ItemFormaPago.Por_Distribucion = 100;
                    ItemFormaPago.Valor            = Pedido_info.dp_total;
                    ItemFormaPago.IdTipoFormaPago  = "CON";//quemado porq no escogio nada y el sistemas por default graba contado
                }

                foreach (var item in Pedido_info.DetformaPago_list)
                {
                    item.Fecha     = Convert.ToDateTime(item.Fecha.ToShortDateString());
                    item.Fecha_vtc = Convert.ToDateTime(item.Fecha_vtc.ToShortDateString());
                }

                /*--- corrigiendo data */

                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validar_y_corregir_objeto_Pedido", ex.Message), ex)
                      {
                          EntityType = typeof(fa_pedido_Bus)
                      };
            }
        }
示例#13
0
 private Boolean verificarrepetidos(decimal idempleado, Boolean eliminar, int tipo, fa_pedido_Info Pedido_info)
 {
     try
     {
         var cont = from C in Pedido_info.lista_detalle
                    where C.IdProducto == idempleado
                    select C;
         if (cont.Count() == tipo)
         {
             return(true);
         }
         else
         {
             if (eliminar == true)
             {
                 // gridViewNovxEmp.DeleteRow(gridViewNovxEmp.FocusedRowHandle);
                 //  MessageBox.Show("El código ya se encuentra ingresado. Se procederá con su eliminación.");
             }
             else
             {
                 // MessageBox.Show("El código ya se encuentra ingresado.");
             }
             return(false);
         }
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "verificarrepetidos", ex.Message), ex)
               {
                   EntityType = typeof(fa_pedido_Bus)
               };
     }
 }
示例#14
0
        public List <fa_pedido_Info> Get_List_pedido(int IdEmpresa, DateTime FechaIni, DateTime FechaFin, int idsucursal, int idbodega)
        {
            try
            {
                List <fa_pedido_Info> lM = new List <fa_pedido_Info>();

                EntitiesFacturacion OEPPedido = new EntitiesFacturacion();

                FechaIni = Convert.ToDateTime(FechaIni.ToShortDateString());
                FechaFin = Convert.ToDateTime(FechaFin.ToShortDateString());


                var cabeceraPedido = from ped in OEPPedido.vwfa_pedido_detalle
                                     where ped.IdEmpresa == IdEmpresa && ped.IdSucursal == idsucursal && ped.IdBodega == idbodega &&
                                     ped.cp_fecha >= FechaIni && ped.cp_fecha <= FechaFin
                                     group ped by new { ped.IdEstadoProduccion, ped.Entregado, ped.CodPedido, ped.cp_fecha, ped.cp_fechaVencimiento, ped.cp_diasPlazo, ped.interes, ped.transporte, ped.otro1, ped.otro2, ped.IdEmpresa, ped.IdSucursal, ped.IdBodega, ped.IdPedido, ped.IdVendedor, ped.IdCliente, ped.pe_apellido, ped.pe_nombre, ped.pe_nombreCompleto, ped.bo_Descripcion, ped.Su_Descripcion, ped.Ve_Vendedor, ped.cp_observacion, ped.cp_tipopago, ped.Estado, ped.IdEstadoAprobacion, ped.Descripcion }
                into grouping
                    select new { grouping.Key, subtotal = grouping.Sum(p => p.dp_subtotal), total = grouping.Sum(p => p.dp_total) };


                foreach (var item in cabeceraPedido)
                {
                    fa_pedido_Info info = new fa_pedido_Info();
                    info.CodPedido           = item.Key.CodPedido;
                    info.IdEmpresa           = item.Key.IdEmpresa;
                    info.cp_fecha            = item.Key.cp_fecha;
                    info.cp_fechaVencimiento = item.Key.cp_fechaVencimiento;
                    info.cp_diasPlazo        = item.Key.cp_diasPlazo;
                    info.cp_observacion      = item.Key.cp_observacion;
                    info.IdEmpresa           = item.Key.IdEmpresa;
                    info.IdSucursal          = item.Key.IdSucursal;
                    info.IdBodega            = item.Key.IdBodega;
                    info.IdPedido            = item.Key.IdPedido;
                    info.IdCliente           = item.Key.IdCliente;
                    info.IdVendedor          = item.Key.IdVendedor;
                    info.Vendedor            = item.Key.Ve_Vendedor.Trim();
                    info.IdCliente           = item.Key.IdCliente;
                    info.Cliente             = item.Key.pe_nombreCompleto.Trim();
                    info.IdBodega            = item.Key.IdBodega;
                    info.Bodega             = item.Key.bo_Descripcion.Trim();
                    info.IdSucursal         = item.Key.IdSucursal;
                    info.Sucursal           = item.Key.Su_Descripcion.Trim();
                    info.Subtotal           = item.subtotal;
                    info.Entregado          = item.Key.Entregado;
                    info.Estado             = item.Key.Estado;
                    info.IdEstadoAprobacion = item.Key.IdEstadoAprobacion;
                    info.EstadoAprobacion   = item.Key.Descripcion.Trim();
                    info.cp_tipopago        = item.Key.cp_tipopago.Trim();
                    info.Trasnporte         = item.Key.transporte;
                    info.Interes            = item.Key.interes;
                    info.Otro1 = item.Key.otro1;
                    info.Otro2 = item.Key.otro2;
                    info.IdEstadoProduccion = item.Key.IdEstadoProduccion;
                    info.TOTAL = item.total;
                    lM.Add(info);
                }

                return(lM);
            }
            catch (Exception ex)
            {
                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);
                mensaje = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.ToString());
            }
        }
示例#15
0
        public Boolean GrabarDB(fa_pedido_Info info, ref decimal id, ref string msg)
        {
            try
            {
                using (EntitiesFacturacion context = new EntitiesFacturacion())
                {
                    var     address = new fa_pedido();
                    decimal idpv    = GetId(info.IdEmpresa);
                    id = idpv;
                    address.CodPedido           = (info.CodPedido == "") ? "PED" + idpv.ToString() : info.CodPedido;
                    address.IdEmpresa           = info.IdEmpresa;
                    address.IdSucursal          = info.IdSucursal;
                    address.IdBodega            = info.IdBodega;
                    address.IdPedido            = idpv;
                    address.IdCliente           = info.IdCliente;
                    address.IdVendedor          = info.IdVendedor;
                    address.cp_fecha            = Convert.ToDateTime(info.cp_fecha.ToShortDateString());
                    address.cp_diasPlazo        = info.cp_diasPlazo;
                    address.cp_fechaVencimiento = Convert.ToDateTime(info.cp_fechaVencimiento.ToShortDateString());
                    address.cp_observacion      = info.cp_observacion;
                    address.cp_tipopago         = info.cp_tipopago;
                    address.IdEstadoAprobacion  = info.IdEstadoAprobacion;
                    address.transporte          = info.Trasnporte;
                    address.interes             = info.Interes;
                    address.otro1     = info.Otro1;
                    address.otro2     = info.Otro2;
                    address.Entregado = info.Entregado;
                    //campos de auditoria
                    address.IdUsuario          = info.IdUsuario;
                    address.Fecha_Transac      = info.Fecha_Transac;
                    address.nom_pc             = info.nom_pc;
                    address.ip                 = info.ip;
                    address.Estado             = "A";
                    address.IdEstadoProduccion = info.IdEstadoProduccion;
                    context.fa_pedido.Add(address);
                    context.SaveChanges();
                    msg = "Se ha procedido a grabar el registro del Pedido #: " + id.ToString() + " exitosamente.";


                    data_producto.ModificarDB(info.lista_detalle, ref msg);
                    data_producto_bodega.ModificarDB(info.lista_detalle);


                    string mensaje = "";
                    int    i       = 0;
                    foreach (var item in info.lista_detalle)
                    {
                        if (item.IdProducto != 0)
                        {
                            i = i + 1;
                            fa_pedido_det_Info pedido_info = new Info.Facturacion.fa_pedido_det_Info();
                            pedido_info.IdEmpresa  = item.IdEmpresa;
                            pedido_info.IdSucursal = item.IdSucursal;
                            pedido_info.IdBodega   = item.IdBodega;
                            pedido_info.IdPedido   = id;
                            pedido_info.Peso       = item.Peso;

                            pedido_info.Secuencial = i;

                            //pedido_info.Secuencial = item.Secuencial;
                            pedido_info.IdProducto       = item.IdProducto;
                            pedido_info.dp_cantidad      = item.dp_cantidad;
                            pedido_info.dp_precio        = item.dp_precio;
                            pedido_info.dp_PorDescuento  = item.dp_PorDescuento;
                            pedido_info.dp_desUni        = item.dp_desUni;
                            pedido_info.dp_PrecioFinal   = item.dp_PrecioFinal;
                            pedido_info.dp_subtotal      = item.dp_subtotal;
                            pedido_info.dp_iva           = item.dp_iva;
                            pedido_info.dp_total         = item.dp_total;
                            pedido_info.dp_pagaIva       = item.dp_pagaIva;
                            pedido_info.dp_detallexItems = item.dp_detallexItems;
                            //grabo detalle de los items
                            pedido_data.GrabarDB(pedido_info, ref mensaje);
                        }
                    }


                    #region 'guardando la forma de pago '
                    // guardando la forma de pago
                    fa_pedido_x_formaPago_Data odata = new fa_pedido_x_formaPago_Data();


                    foreach (var item in info.DetformaPago_list)
                    {
                        item.IdPedido = id;
                    }

                    odata.GuardarDB(info.DetformaPago_list, ref msg);

                    // FormPago_bus.GuardarDB(Factura_info.DetformaPago_list, ref msg);
                    //----------------------------------------------------------------------


                    #endregion
                }
                return(true);
            }
            catch (Exception ex)
            {
                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);
                msg = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref msg);
                throw new Exception(ex.ToString());
            }
        }
示例#16
0
        public Boolean VerificarOrdenDespacho(fa_pedido_Info info)
        {
            try
            {
                int cont = 0;


                info.ListaDetalle = Get_List_pedido_det(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdPedido);

                foreach (var item in info.ListaDetalle)
                {
                    EntitiesFacturacion oEnti = new EntitiesFacturacion();

                    var verifi = from q in oEnti.fa_orden_Desp_det_x_fa_pedido_det
                                 from cab in oEnti.fa_orden_Desp
                                 where q.pe_IdBodega == item.IdBodega &&
                                 q.pe_IdEmpresa == item.IdEmpresa &&
                                 q.pe_IdPedido == item.IdPedido &&
                                 q.pe_IdProducto == item.IdProducto &&
                                 q.pe_IdSucursal == item.IdSucursal &&
                                 q.pe_Secuencia == item.Secuencial
                                 &&
                                 cab.IdEmpresa == item.IdEmpresa &&
                                 cab.IdSucursal == item.IdSucursal &&
                                 cab.IdBodega == item.IdBodega &&
                                 cab.IdOrdenDespacho == q.od_IdOrdenDespacho &&
                                 cab.Estado == "A"
                                 select new
                    {
                        q.od_IdOrdenDespacho,
                        q.od_IdSucursal,
                        cab.Estado
                    };

                    if (verifi.ToList().Count() == 0)
                    {
                        // return true;
                    }
                    else
                    {
                        cont = cont + 1;
                        // return false;
                    }
                }


                if (cont >= 1)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                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);
                mensaje = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.ToString());
            }
        }
示例#17
0
        public Boolean ModificarDB(fa_pedido_Info info, ref string msg)
        {
            try
            {
                using (EntitiesFacturacion context = new EntitiesFacturacion())
                {
                    var contact = context.fa_pedido.FirstOrDefault(obj => obj.IdEmpresa == info.IdEmpresa && obj.IdSucursal == info.IdSucursal && obj.IdBodega == info.IdBodega && obj.IdPedido == info.IdPedido);
                    if (contact != null)
                    {
                        contact.transporte = info.Trasnporte;
                        contact.IdVendedor = info.IdVendedor;
                        contact.cp_fecha   = info.cp_fecha;

                        contact.interes             = info.Interes;
                        contact.otro1               = info.Otro1;
                        contact.otro2               = info.Otro2;
                        contact.cp_diasPlazo        = info.cp_diasPlazo;
                        contact.cp_fechaVencimiento = info.cp_fechaVencimiento;
                        contact.cp_observacion      = info.cp_observacion;
                        contact.cp_tipopago         = info.cp_tipopago;
                        contact.IdEstadoAprobacion  = info.IdEstadoAprobacion;
                        contact.Estado              = info.Estado;
                        contact.IdUsuarioUltMod     = info.IdUsuarioUltMod;
                        contact.Fecha_UltMod        = DateTime.Now;
                        contact.Entregado           = info.Entregado;
                        contact.IdEstadoProduccion  = info.IdEstadoProduccion;

                        List <fa_pedido_det_Info> listaAux = new List <fa_pedido_det_Info>();

                        listaAux = pedido_data.Get_List_pedido_det(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdPedido);


                        (from q in listaAux select q).ToList().ForEach(q => q.dp_cantidad = q.dp_cantidad * -1);

                        data_producto_bodega.ModificarDB(listaAux);


                        foreach (var item in listaAux)
                        {
                            pedido_data.EliminarDB(item, ref msg);
                        }

                        data_producto_bodega.ModificarDB(info.lista_detalle);

                        int sec = 0;
                        foreach (var item in info.lista_detalle)
                        {
                            if (item.IdProducto != 0)
                            {
                                sec             = sec + 1;
                                item.Secuencial = sec;
                                pedido_data.GrabarDB(item, ref msg);
                            }
                        }
                        context.SaveChanges();

                        msg = "Se ha procedido actualizar el registro del Pedido #: " + info.IdPedido.ToString() + " exitosamente";
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                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);
                msg = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref msg);
                throw new Exception(ex.ToString());
            }
        }