Пример #1
0
 private void cmbCategoria_EditValueChanged(object sender, EventArgs e)
 {
     try
     {
         listlinea = bus_Linea.Get_List_Linea(param.IdEmpresa, Convert.ToString(cmbCategoria.EditValue));
         cmbLinea.Properties.DataSource    = listlinea;
         cmbLinea.Properties.DisplayMember = "nom_linea";
         cmbLinea.Properties.ValueMember   = "IdLinea";
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Пример #2
0
        private void cmb_categoria_EditValueChanged(object sender, EventArgs e)
        {
            try
            {
                cmb_linea.EditValue = null;
                if (cmb_categoria.EditValue == null)
                {
                    return;
                }
                sIdCategoria = cmb_categoria.EditValue.ToString();
                LineaList    = lineaBus.Get_List_Linea(param.IdEmpresa, sIdCategoria);

                cmb_linea.Properties.DataSource = LineaList;
                event_delegate_cmb_categoria_EditValueChanged(sender, e);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(NameMetodo + " - " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Пример #3
0
        private void UCInv_MenuReportes_2_Load(object sender, EventArgs e)
        {
            try
            {
                in_Producto_Info        infoProducto     = new in_Producto_Info();
                in_movi_inven_tipo_Info infoMoviTipi     = new in_movi_inven_tipo_Info();
                cp_proveedor_Info       infoProvee       = new cp_proveedor_Info();
                ct_Centro_costo_Info    infoCentro_costo = new ct_Centro_costo_Info();
                ct_centro_costo_sub_centro_costo_Info infoSubcentro_costo = new ct_centro_costo_sub_centro_costo_Info();
                in_movi_inven_tipo_Info info_movimiento = new in_movi_inven_tipo_Info();

                string msg = "";

                dtpDesde.EditValue = DateTime.Now.AddMonths(-1);
                dtpHasta.EditValue = DateTime.Now.AddMonths(1);

                lstSucuInfo = busSucursal.Get_List_Sucursal_Todos(param.IdEmpresa);
                cmbSucursal_Grid.DataSource = lstSucuInfo;

                lstBodegaInfo             = busBodega.Get_List_Bodega(param.IdEmpresa, Cl_Enumeradores.eTipoFiltro.todos);
                cmbBodega_Grid.DataSource = lstBodegaInfo;

                infoProducto.IdProducto     = 0;
                infoProducto.pr_descripcion = "Todos";

                infoProvee.IdProveedor = 0;
                infoProvee.pr_nombre   = "Todos";

                infoMoviTipi.IdMovi_inven_tipo = 0;
                infoMoviTipi.tm_descripcion    = "Todos";

                infoCentro_costo.IdCentroCosto = "Todos";
                infoCentro_costo.Centro_costo  = "Todos";

                infoSubcentro_costo.IdCentroCosto_sub_centro_costo = "Todos";
                infoSubcentro_costo.Centro_costo = "Todos";

                lstProductoInfo = busProducto.Get_list_Producto(param.IdEmpresa);
                lstProductoInfo.Add(infoProducto);
                cmbProducto_Grid.DataSource = lstProductoInfo.OrderBy(q => q.IdProducto).ToList();

                lstMoviTipiInfo = busMoviTip.Get_List_movi_inven_tipo(param.IdEmpresa);
                lstMoviTipiInfo.Add(infoMoviTipi);
                CmbTipoMov_Grid.DataSource = lstMoviTipiInfo.OrderBy(q => q.IdMovi_inven_tipo).ToList();

                listProveedor = busProveedor.Get_List_proveedor(param.IdEmpresa);
                listProveedor.Add(infoProvee);
                cmbProveedor_Grid.DataSource = listProveedor;

                lstCentro_costo = busCentro_costo.Get_list_Centro_Costo(param.IdEmpresa, ref msg);
                lstCentro_costo.Add(infoCentro_costo);
                cmb_centroCosto.DataSource = lstCentro_costo;

                lstSubcentro_costo = busSubcentro_costo.Get_list_centro_costo_sub_centro_costo(param.IdEmpresa);
                lstSubcentro_costo.Add(infoSubcentro_costo);
                cmb_subCentro_costo.DataSource = lstSubcentro_costo;

                lst_Categoria            = bus_Categoria.Get_List_categorias(param.IdEmpresa);
                cmb_Categoria.DataSource = lst_Categoria;

                lst_Linea            = bus_Linea.Get_List_Linea(param.IdEmpresa, "");
                cmb_Linea.DataSource = lst_Linea;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
        private void UCInv_MenuReportes_Load(object sender, EventArgs e)
        {
            try
            {
                in_Producto_Info        infoProducto  = new in_Producto_Info();
                in_movi_inven_tipo_Info infoMoviTipi  = new in_movi_inven_tipo_Info();
                cp_proveedor_Info       infoProvee    = new cp_proveedor_Info();
                in_categorias_Info      InfoCategoria = new in_categorias_Info();
                in_linea_info           InfoLinea     = new in_linea_info();

                dtpDesde.EditValue = DateTime.Now.AddMonths(-1);
                dtpHasta.EditValue = DateTime.Now.Date;

                lstSucuInfo = busSucursal.Get_List_Sucursal_Todos(param.IdEmpresa);
                cmbSucursal_Grid.DataSource = lstSucuInfo;

                lstBodegaInfo             = busBodega.Get_List_Bodega(param.IdEmpresa, Cl_Enumeradores.eTipoFiltro.todos);
                cmbBodega_Grid.DataSource = lstBodegaInfo;

                infoProducto.IdProducto     = 0;
                infoProducto.pr_descripcion = "Todos";

                infoProvee.IdProveedor = 0;
                infoProvee.pr_nombre   = "Todos";

                infoMoviTipi.IdMovi_inven_tipo = 0;
                infoMoviTipi.tm_descripcion    = "Todos";

                InfoCategoria.IdCategoria  = "";
                InfoCategoria.ca_Categoria = "Todos";

                InfoLinea.IdLinea   = 0;
                InfoLinea.nom_linea = "Todos";

                lstProductoInfo = busProducto.Get_list_Producto(param.IdEmpresa);
                lstProductoInfo.Add(infoProducto);
                cmbProducto_Grid.DataSource = lstProductoInfo.OrderBy(q => q.IdProducto).ToList();

                lstMoviTipiInfo = busMoviTip.Get_List_movi_inven_tipo(param.IdEmpresa);
                lstMoviTipiInfo.Add(infoMoviTipi);
                CmbTipoMov_Grid.DataSource = lstMoviTipiInfo.OrderBy(q => q.IdMovi_inven_tipo).ToList();

                listProveedor = busProveedor.Get_List_proveedor(param.IdEmpresa);
                listProveedor.Add(infoProvee);
                cmbProveedor_Grid.DataSource = listProveedor;

                ListCategoria = Bus_Categoria.Get_List_categorias(param.IdEmpresa);
                ListCategoria.Add(InfoCategoria);
                cmb_categoria.DataSource = ListCategoria;

                ListLinea = BusLinea.Get_List_Linea(param.IdEmpresa, "");
                ListLinea.Add(InfoLinea);
                cmb_Linea.DataSource = ListLinea;

                lst_centro_costo            = bus_centro_costo.Get_list_Centro_Costo(param.IdEmpresa, ref MensajeError);
                cmb_centro_costo.DataSource = lst_centro_costo;



                listapuntocargo            = busPuntoCargo.Get_List_PuntoCargo(param.IdEmpresa);
                cmb_punto_cargo.DataSource = listapuntocargo;
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(NameMetodo + " - " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Пример #5
0
        private Boolean Proceso_Grabacion()
        {
            Boolean respuesta    = false;
            int     c            = 1;
            int     Total_Reg    = 0;
            string  SIdProducto  = "";
            string  nom_producto = "";

            BindingList <cl_estado_grabacion> ListEstadoGrabacion = new BindingList <cl_estado_grabacion>();

            try
            {
                string MensajeLog     = "Ingreso Exitoso.";
                string MensajeWarning = "";
                string listaLog       = "";
                this.rtbLog.Text = "";
                bool B_Proceso_anulacion = true;
                lblMensaje.Text    = "";
                lblMensaje.Visible = false;
                decimal IdProducto = 0;
                int     IdLinea    = 0;
                int     IdGrupo    = 0;
                int     IdSubGrupo = 0;
                int     idMotivo   = 0;

                gridControlProceGrabado.DataSource = ListEstadoGrabacion;

                if (gridControlProductos.DataSource != null)
                {
                    if (rgImportar.SelectedIndex == 0)
                    {
                        MensajeWarning = "Atención esta a punto de eliminar toda la información actual, y reemplazarla con la nueva. Está seguro de continuar?";
                    }
                    else
                    {
                        MensajeWarning = "Atención esta a punto de proceder. Está seguro de continuar?";
                    }
                    lblmsg3.Visible = true;

                    if (MessageBox.Show(MensajeWarning, "SISTEMAS", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    {
                        if (rgImportar.SelectedIndex == 0)
                        {
                            B_Proceso_anulacion = bus_producto_x_bodega.EliminarDB(param.IdEmpresa);
                            B_Proceso_anulacion = _ProductoBus.Delete_Todos_Producto(param.IdEmpresa, ref MensajeError);

                            if (B_Proceso_anulacion)
                            {
                                ListEstadoGrabacion.Add(new cl_estado_grabacion(0, "", "Eliminado productos", "", "OK", "Eliminado Ok"));
                                gridControlProceGrabado.Refresh();
                            }
                        }

                        if (B_Proceso_anulacion == true)
                        {
                            //splashScreenManager.ShowWaitForm();

                            Total_Reg            = _ListProductoInfo.Count();
                            progressBar.Maximum  = Total_Reg;
                            progressBar.Minimum  = 1;
                            progressBar.Step     = 1;
                            lblNumRegistros.Text = "0 registros de " + Total_Reg;
                            c = 1;

                            #region Listas

                            /*
                             * foreach (var item in list_Categoria)
                             * {
                             * respuesta = Categoria_Bus.GrabarDB(param.IdEmpresa, item, ref MensajeError);
                             * }
                             * if (!respuesta)
                             * {
                             * MessageBox.Show("La Hoja de Categoria no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                             * return false;
                             * }
                             *
                             * foreach (var item in list_Linea)
                             * {
                             * respuesta = Linea_bus.GrabarDB(item, ref IdLinea, ref MensajeError);
                             * }
                             * if (!respuesta)
                             * {
                             * MessageBox.Show("La Hoja de Línea no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                             * return false;
                             * }
                             *
                             * foreach (var item in list_Grupo)
                             * {
                             * respuesta = Grupo_bus.GrabarDB(item, ref IdGrupo, ref MensajeError);
                             * }
                             * if (!respuesta)
                             * {
                             * MessageBox.Show("La Hoja de Grupo no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                             * return false;
                             * }
                             *
                             * foreach (var item in list_SubGrupo)
                             * {
                             * respuesta = SubGrupo_bus.GrabarDB(item, ref IdSubGrupo, ref MensajeError);
                             * }
                             * if (!respuesta)
                             * {
                             * MessageBox.Show("La Hoja de SubGrupo no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                             * return false;
                             * }
                             *
                             * foreach (var item in list_Marca)
                             * {
                             * respuesta = Marca_bus.GrabarDB(item, ref MensajeError);
                             * }
                             * if (!respuesta)
                             * {
                             * MessageBox.Show("La Hoja de Marca no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                             * return false;
                             * }
                             *
                             */

                            _Motivo_venta_Info                        = new fa_motivo_venta_Info();
                            _Motivo_venta_Info.IdEmpresa              = param.IdEmpresa;
                            _Motivo_venta_Info.IdMotivo_Vta           = 1;
                            _Motivo_venta_Info.codMotivo_Vta          = "1";
                            _Motivo_venta_Info.descripcion_motivo_vta = "no definido";
                            _Motivo_venta_Info.Estado                 = "A";
                            _Motivo_venta_Info.FechaCreacion          = param.Fecha_Transac;
                            _Motivo_venta_Info.UsuarioCreacion        = param.IdUsuario;

                            respuesta = Motivo_venta_bus.Grabar(_Motivo_venta_Info, ref idMotivo, ref MensajeError);

                            if (!respuesta)
                            {
                                MessageBox.Show("La Hoja de Motivo de venta no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            foreach (var item in list_Presentacion)
                            {
                                respuesta = Presentacion_bus.GuardarDB(item, ref MensajeError);
                            }
                            if (!respuesta)
                            {
                                MessageBox.Show("La Hoja de Presentación no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            List <in_categorias_Info> listCategoria = new List <in_categorias_Info>();
                            listCategoria = Categoria_Bus.Get_List_categorias(param.IdEmpresa);
                            List <in_linea_info> listLinea = new List <in_linea_info>();

                            listLinea = Linea_bus.Get_List_Linea(param.IdEmpresa);

                            List <in_grupo_info> listgrupo = new List <in_grupo_info>();
                            listgrupo = Grupo_bus.Get_List_Grupo(param.IdEmpresa);


                            //cambiar lo de marca, subgrupo y medida para que eso venga desde la plantilla de excel y no este quemado

                            foreach (in_Producto_Info item in _ListProductoInfo)
                            {
                                SIdProducto     = item.IdProducto.ToString().Trim();
                                nom_producto    = item.pr_descripcion.Trim();
                                item.IdProducto = 0;//en caso de que sea conservar
                                try
                                {
                                    item.IdCategoria = listCategoria.First(v => v.ca_Categoria.Trim().ToLower() == item.nom_Categoria.Trim().ToLower()).IdCategoria;
                                }
                                catch (Exception)
                                {
                                    item.IdCategoria = "1";
                                }
                                try
                                {
                                    item.IdLinea = listLinea.First(v => v.IdCategoria == item.IdCategoria && v.nom_linea.Trim().ToLower() == item.nom_Linea.Trim().ToLower()).IdLinea;
                                }
                                catch (Exception)
                                {
                                    item.IdLinea = 1;
                                }
                                try
                                {
                                    item.IdGrupo = listgrupo.First(v => v.IdCategoria == item.IdCategoria && v.IdLinea == item.IdLinea && v.nom_grupo.Trim().ToLower() == item.nom_Grupo.Trim().ToLower()).IdGrupo;
                                }
                                catch (Exception)
                                {
                                    item.IdGrupo = 1;
                                }
                                item.IdSubGrupo             = 1;
                                item.IdMarca                = 1;
                                item.IdProductoTipo         = item.IdProductoTipo;
                                item.IdPresentacion         = "1";
                                item.IdUnidadMedida         = "UNID";
                                item.IdUnidadMedida_Consumo = "UNID";
                                item.IdCod_Impuesto_Iva     = "IVA14";
                                item.IdCod_Impuesto_Ice     = "ICE0";
                                item.IdMotivo_Vta           = 1;
                                item.Estado       = "A";
                                item.ManejaKardex = "N";

                                respuesta = _ProductoBus.GrabarDB(item, ref IdProducto, ref MensajeError);


                                //if (respuesta)
                                //{
                                //    #region Producto por bodega
                                //    foreach (var Sucursal in lst_Sucursal)
                                //    {
                                //        foreach (var Bodega in lst_Bodega)
                                //        {
                                //            if (Bodega.IdSucursal == Sucursal.IdSucursal)
                                //            {
                                //                info_producto_x_bodega = new in_producto_x_tb_bodega_Info();
                                //                info_producto_x_bodega.IdEmpresa = item.IdEmpresa;
                                //                info_producto_x_bodega.IdSucursal = Sucursal.IdSucursal;
                                //                info_producto_x_bodega.IdBodega = Bodega.IdBodega;
                                //                info_producto_x_bodega.IdProducto = item.IdProducto;
                                //                info_producto_x_bodega.pr_precio_publico = item.pr_precio_publico;
                                //                info_producto_x_bodega.pr_precio_mayor = item.pr_precio_mayor;
                                //                info_producto_x_bodega.pr_precio_puerta = item.pr_precio_puerta;
                                //                info_producto_x_bodega.pr_precio_minimo = item.pr_precio_minimo;
                                //                info_producto_x_bodega.pr_Por_descuento = item.pr_Por_descuento;
                                //                //info_producto_x_bodega.pr_stock = item.pr_stock;
                                //                info_producto_x_bodega.pr_stock_maximo = item.pr_stock_maximo;
                                //                info_producto_x_bodega.pr_stock_minimo = item.pr_stock_minimo;
                                //                info_producto_x_bodega.pr_costo_fob = item.pr_costo_fob;
                                //                info_producto_x_bodega.pr_costo_CIF = item.pr_costo_CIF;
                                //                info_producto_x_bodega.pr_costo_promedio = item.pr_costo_promedio;
                                //                //Cuentas contables
                                //                info_producto_x_bodega.IdCtaCble_Inven = cmb_IdCtaCble_Inven.get_PlanCtaInfo().IdCtaCble;//1
                                //                info_producto_x_bodega.IdCtaCble_VenIva = cmb_IdCtaCble_VenIva.get_PlanCtaInfo().IdCtaCble;//2
                                //                info_producto_x_bodega.IdCtaCble_Ven0 = cmb_IdCtaCble_Ven0.get_PlanCtaInfo().IdCtaCble;//3
                                //                info_producto_x_bodega.IdCtaCble_DevIva = cmb_IdCtaCble_DesIva.get_PlanCtaInfo().IdCtaCble;//4
                                //                info_producto_x_bodega.IdCtaCble_Des0 = cmb_IdCtaCble_Des0.get_PlanCtaInfo().IdCtaCble;//5
                                //                info_producto_x_bodega.IdCtaCble_DevIva = cmb_IdCtaCble_DevIva.get_PlanCtaInfo().IdCtaCble;//6
                                //                info_producto_x_bodega.IdCtaCble_Dev0 = cmb_IdCtaCble_Dev0.get_PlanCtaInfo().IdCtaCble;//7
                                //                info_producto_x_bodega.IdCtaCble_Costo = cmb_IdCtaCble_Costo.get_PlanCtaInfo().IdCtaCble;//8
                                //                info_producto_x_bodega.IdCtaCble_Gasto_x_cxp = cmb_IdCtaCble_Gasto_x_cxp.get_PlanCtaInfo().IdCtaCble;//9
                                //                info_producto_x_bodega.IdCtaCble_Vta = cmb_IdCtaCble_Vta.get_PlanCtaInfo().IdCtaCble;//10
                                //                //Fin cuentas contables
                                //                info_producto_x_bodega.Estado = "A";
                                //                respuesta = bus_producto_x_bodega.GrabaDB(info_producto_x_bodega, param.IdEmpresa, ref MensajeError);
                                //            }
                                //        }
                                //    }
                                //    #endregion


                                //}


                                ListEstadoGrabacion.Add(new cl_estado_grabacion(c, item.IdProducto.ToString(), item.pr_codigo, item.pr_descripcion, "OK", "Migrado Ok"));
                                progressBar.Value    = c;
                                lblNumRegistros.Text = c + " registros de " + Total_Reg;
                                progressBar.Refresh();
                                Application.DoEvents();


                                c++;
                            }
                            #endregion

                            if (listaLog != "")
                            {
                                MensajeLog += " pero con errores:" + "\n" + listaLog + MensajeError;
                            }
                        }
                    }
                    else
                    {
                        MensajeLog = "No se efectuó la operación. Operación cancelada por el usuario.";
                    }
                    lblmsg3.Visible = false;
                }
                else
                {
                    MensajeLog = "No existen Datos para importación.";
                }
                this.rtbLog.Text = MensajeLog;
                //splashScreenManager.CloseWaitForm();
                return(respuesta);
            }
            catch (Exception ex)
            {
                //splashScreenManager.CloseWaitForm();
                ListEstadoGrabacion.Add(new cl_estado_grabacion(c++, SIdProducto, SIdProducto, nom_producto, "ERROR", "No Migrado:" + ex.ToString()));
                gridControlProceGrabado.Refresh();
                lblMensaje.Text    = "Error al cargar " + ex.ToString();
                lblMensaje.Visible = true;
                return(respuesta);
            }
        }
Пример #6
0
        private Boolean Proceso_Grabacion()
        {
            Boolean respuesta    = false;
            int     c            = 1;
            int     Total_Reg    = 0;
            string  SIdProducto  = "";
            string  nom_producto = "";

            BindingList <cl_estado_grabacion> ListEstadoGrabacion = new BindingList <cl_estado_grabacion>();

            try
            {
                string MensajeLog     = "Ingreso Exitoso.";
                string MensajeWarning = "";
                string listaLog       = "";
                this.rtbLog.Text = "";
                bool B_Proceso_anulacion = true;
                lblMensaje.Text    = "";
                lblMensaje.Visible = false;
                decimal IdProducto = 0;
                int     IdLinea    = 0;
                int     IdGrupo    = 0;
                int     IdSubGrupo = 0;
                int     idMotivo   = 0;

                gridControlProceGrabado.DataSource = ListEstadoGrabacion;

                if (gridControlProductos.DataSource != null)
                {
                    if (rgImportar.SelectedIndex == 0)
                    {
                        MensajeWarning = "Atención esta a punto de eliminar toda la información actual, y reemplazarla con la nueva. Está seguro de continuar?";
                    }
                    else
                    {
                        MensajeWarning = "Atención esta a punto de proceder. Está seguro de continuar?";
                    }
                    lblmsg3.Visible = true;

                    if (MessageBox.Show(MensajeWarning, "SISTEMAS", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    {
                        if (rgImportar.SelectedIndex == 0)
                        {
                            B_Proceso_anulacion = bus_producto_x_bodega.EliminarDB(param.IdEmpresa);
                            B_Proceso_anulacion = _ProductoBus.Delete_Todos_Producto(param.IdEmpresa, ref MensajeError);

                            if (B_Proceso_anulacion)
                            {
                                ListEstadoGrabacion.Add(new cl_estado_grabacion(0, "", "Eliminado productos", "", "OK", "Eliminado Ok"));
                                gridControlProceGrabado.Refresh();
                            }
                        }

                        if (B_Proceso_anulacion == true)
                        {
                            //splashScreenManager.ShowWaitForm();

                            Total_Reg            = _ListProductoInfo.Count();
                            progressBar.Maximum  = Total_Reg;
                            progressBar.Minimum  = 1;
                            progressBar.Step     = 1;
                            lblNumRegistros.Text = "0 registros de " + Total_Reg;
                            c = 1;

                            #region Listas
                            try
                            {
                                foreach (var item in list_Categoria)
                                {
                                    respuesta = Categoria_Bus.GrabarDB(param.IdEmpresa, item, ref MensajeError);
                                }
                                if (!respuesta)
                                {
                                    MessageBox.Show("La Hoja de Categoria no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    return(false);
                                }
                            }
                            catch (Exception)
                            {
                                MessageBox.Show("La Hoja de Categoria no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            try
                            {
                                foreach (var item in list_Linea)
                                {
                                    respuesta = Linea_bus.GrabarDB(item, ref IdLinea, ref MensajeError);
                                }
                                if (!respuesta)
                                {
                                    MessageBox.Show("La Hoja de Línea no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    return(false);
                                }
                            }
                            catch (Exception)
                            {
                                MessageBox.Show("La Hoja de Línea no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            try
                            {
                                foreach (var item in list_Grupo)
                                {
                                    respuesta = Grupo_bus.GrabarDB(item, ref IdGrupo, ref MensajeError);
                                }
                                if (!respuesta)
                                {
                                    MessageBox.Show("La Hoja de Grupo no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    return(false);
                                }
                            }
                            catch (Exception)
                            {
                                MessageBox.Show("La Hoja de Grupo no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            try
                            {
                                foreach (var item in list_SubGrupo)
                                {
                                    respuesta = SubGrupo_bus.GrabarDB(item, ref IdSubGrupo, ref MensajeError);
                                }
                                if (!respuesta)
                                {
                                    MessageBox.Show("La Hoja de SubGrupo no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    return(false);
                                }
                            }
                            catch (Exception)
                            {
                                MessageBox.Show("La Hoja de SubGrupo no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            try
                            {
                                foreach (var item in list_Marca)
                                {
                                    respuesta = Marca_bus.GrabarDB(item, ref MensajeError);
                                }
                                if (!respuesta)
                                {
                                    MessageBox.Show("La Hoja de Marca no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    return(false);
                                }
                            }
                            catch (Exception)
                            {
                                MessageBox.Show("La Hoja de Marca no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }



                            _Motivo_venta_Info                        = new fa_motivo_venta_Info();
                            _Motivo_venta_Info.IdEmpresa              = param.IdEmpresa;
                            _Motivo_venta_Info.IdMotivo_Vta           = 1;
                            _Motivo_venta_Info.codMotivo_Vta          = "1";
                            _Motivo_venta_Info.descripcion_motivo_vta = "no definido";
                            _Motivo_venta_Info.Estado                 = "A";
                            _Motivo_venta_Info.FechaCreacion          = param.Fecha_Transac;
                            _Motivo_venta_Info.UsuarioCreacion        = param.IdUsuario;

                            respuesta = Motivo_venta_bus.Grabar(_Motivo_venta_Info, ref idMotivo, ref MensajeError);

                            if (!respuesta)
                            {
                                MessageBox.Show("La Hoja de Motivo de venta no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            foreach (var item in list_Presentacion)
                            {
                                respuesta = Presentacion_bus.GuardarDB(item, ref MensajeError);
                            }
                            if (!respuesta)
                            {
                                MessageBox.Show("La Hoja de Presentación no cumple con el formato de la plantilla", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                return(false);
                            }

                            List <in_categorias_Info> listCategoria = new List <in_categorias_Info>();
                            listCategoria = Categoria_Bus.Get_List_categorias(param.IdEmpresa);
                            List <in_linea_info> listLinea = new List <in_linea_info>();

                            listLinea = Linea_bus.Get_List_Linea(param.IdEmpresa);

                            List <in_grupo_info> listgrupo = new List <in_grupo_info>();
                            listgrupo = Grupo_bus.Get_List_Grupo(param.IdEmpresa);

                            List <in_subgrupo_info> listsubgrupo = SubGrupo_bus.ConsultaGeneralSubGrupo(param.IdEmpresa);

                            List <in_Marca_Info> listmarca = Marca_bus.Get_list_Marca(param.IdEmpresa);

                            List <in_presentacion_Info> lst_presentacion = Presentacion_bus.Get_List_presentacion(param.IdEmpresa);
                            //cambiar lo de marca, subgrupo y medida para que eso venga desde la plantilla de excel y no este quemado

                            foreach (in_Producto_Info item in _ListProductoInfo)
                            {
                                SIdProducto     = item.IdProducto.ToString().Trim();
                                nom_producto    = item.pr_descripcion.Trim();
                                item.IdProducto = 0;//en caso de que sea conservar
                                try
                                {
                                    item.IdCategoria = listCategoria.First(v => v.ca_Categoria.Trim().ToLower() == item.nom_Categoria.Trim().ToLower()).IdCategoria;
                                }
                                catch (Exception)
                                {
                                    item.IdCategoria = "1";
                                }
                                try
                                {
                                    item.IdLinea = listLinea.First(v => v.IdCategoria == item.IdCategoria && v.nom_linea.Trim().ToLower() == item.nom_Linea.Trim().ToLower()).IdLinea;
                                }
                                catch (Exception)
                                {
                                    item.IdLinea = 1;
                                }
                                try
                                {
                                    item.IdGrupo = listgrupo.First(v => v.IdCategoria == item.IdCategoria && v.IdLinea == item.IdLinea && v.nom_grupo.Trim().ToLower() == item.nom_Grupo.Trim().ToLower()).IdGrupo;
                                }
                                catch (Exception)
                                {
                                    item.IdGrupo = 1;
                                }
                                try
                                {
                                    item.IdSubGrupo = listsubgrupo.First(v => v.IdCategoria == item.IdCategoria && v.IdLinea == item.IdLinea && v.IdGrupo == item.IdGrupo && v.nom_subgrupo.Trim().ToLower() == item.nom_SubGrupo.Trim().ToLower()).IdSubgrupo;
                                }
                                catch (Exception)
                                {
                                    item.IdSubGrupo = 1;
                                }
                                try
                                {
                                    item.IdMarca = listmarca.First(v => v.Descripcion.Trim().ToLower() == item.nom_Marca.Trim().ToLower()).IdMarca;
                                }
                                catch (Exception)
                                {
                                    item.IdMarca = 1;
                                }
                                try
                                {
                                    item.IdPresentacion = lst_presentacion.First(q => q.nom_presentacion.Trim().ToLower() == item.nom_Presentacion.Trim().ToLower()).IdPresentacion;
                                }
                                catch (Exception)
                                {
                                }
                                item.IdProductoTipo         = item.IdProductoTipo;
                                item.IdUnidadMedida         = "UNID";
                                item.IdUnidadMedida_Consumo = "UNID";
                                if (item.pr_ManejaIva == "S")
                                {
                                    item.IdCod_Impuesto_Iva = param.Get_Parametro_Info(tb_parametro_enum.P_IVA).Valor;
                                }
                                else
                                {
                                    item.IdCod_Impuesto_Iva = "IVA0";
                                }
                                item.Estado = "A";

                                respuesta = _ProductoBus.GrabarDB(item, ref IdProducto, ref MensajeError);
                                if (respuesta && item.IdProductoTipo == 3)
                                {
                                    decimal          ID = 1;
                                    in_Producto_Info i_producto_lote = new in_Producto_Info
                                    {
                                        IdEmpresa              = item.IdEmpresa,
                                        IdProducto             = 0,
                                        pr_codigo              = item.pr_codigo,
                                        pr_codigo2             = item.pr_codigo2,
                                        pr_descripcion         = item.pr_descripcion,
                                        pr_descripcion_2       = item.pr_descripcion_2,
                                        IdProductoTipo         = 4,
                                        IdMarca                = item.IdMarca,
                                        IdPresentacion         = item.IdPresentacion,
                                        IdCategoria            = item.IdCategoria,
                                        IdLinea                = item.IdLinea,
                                        IdGrupo                = item.IdGrupo,
                                        IdSubGrupo             = item.IdSubGrupo,
                                        IdUnidadMedida         = item.IdUnidadMedida,
                                        IdUnidadMedida_Consumo = item.IdUnidadMedida_Consumo,
                                        pr_codigo_barra        = item.pr_codigo_barra,
                                        pr_observacion         = item.pr_observacion,
                                        Estado                  = "A",
                                        IdCod_Impuesto_Iva      = item.IdCod_Impuesto_Iva,
                                        Aparece_modu_Ventas     = item.Aparece_modu_Ventas,
                                        Aparece_modu_Activo_F   = item.Aparece_modu_Activo_F,
                                        Aparece_modu_Compras    = item.Aparece_modu_Compras,
                                        Aparece_modu_Inventario = item.Aparece_modu_Inventario,
                                        IdProducto_padre        = IdProducto,
                                        lote_num_lote           = "LOTE0",
                                        lote_fecha_fab          = null,
                                        lote_fecha_vcto         = null,
                                        precio_1                = item.precio_1,
                                        precio_2                = item.precio_2,
                                        precio_3                = item.precio_3,
                                        precio_4                = item.precio_4,
                                        precio_5                = item.precio_5,
                                        porcentaje_2            = item.porcentaje_2,
                                        porcentaje_3            = item.porcentaje_3,
                                        porcentaje_4            = item.porcentaje_4,
                                        porcentaje_5            = item.porcentaje_5,
                                        signo_2                 = item.signo_2,
                                        signo_3                 = item.signo_3,
                                        signo_4                 = item.signo_4,
                                        signo_5                 = item.signo_5,

                                        se_distribuye = true
                                    };
                                    respuesta = _ProductoBus.GrabarDB(i_producto_lote, ref ID, ref MensajeError);
                                }
                                ListEstadoGrabacion.Add(new cl_estado_grabacion(c, item.IdProducto.ToString(), item.pr_codigo, item.pr_descripcion, "OK", "Migrado Ok"));
                                progressBar.Value    = c;
                                lblNumRegistros.Text = c + " registros de " + Total_Reg;
                                progressBar.Refresh();
                                Application.DoEvents();


                                c++;
                            }
                            #endregion

                            if (listaLog != "")
                            {
                                MensajeLog += " pero con errores:" + "\n" + listaLog + MensajeError;
                            }
                        }
                    }
                    else
                    {
                        MensajeLog = "No se efectuó la operación. Operación cancelada por el usuario.";
                    }
                    lblmsg3.Visible = false;
                }
                else
                {
                    MensajeLog = "No existen Datos para importación.";
                }
                this.rtbLog.Text = MensajeLog;
                //splashScreenManager.CloseWaitForm();
                return(respuesta);
            }
            catch (Exception ex)
            {
                //splashScreenManager.CloseWaitForm();
                ListEstadoGrabacion.Add(new cl_estado_grabacion(c++, SIdProducto, SIdProducto, nom_producto, "ERROR", "No Migrado:" + ex.ToString()));
                gridControlProceGrabado.Refresh();
                lblMensaje.Text    = "Error al cargar " + ex.ToString();
                lblMensaje.Visible = true;
                return(respuesta);
            }
        }