Exemplo n.º 1
0
        private Boolean Validar_y_corregir_objeto(cp_orden_giro_Info orden_giro_Info, ref string msg)
        {
            try
            {
                #region 'Validaciones'
                /*--- validaciones */


                if (orden_giro_Info.IdEmpresa <= 0 && orden_giro_Info.IdSucursal <= 0)
                {
                    msg = "Error en la cabecera de fact uno de los PK es <=0";
                    return(false);
                }


                if (orden_giro_Info.IdProveedor <= 0)
                {
                    msg = "Erro en la cabecera  IdProveedor es <=0";
                    return(false);
                }



                if (orden_giro_Info.Info_CbteCble_x_OG._cbteCble_det_lista_info == null)
                {
                    msg = "la factura no tiene detalle ";
                    return(false);
                }

                if (orden_giro_Info.Info_CbteCble_x_OG._cbteCble_det_lista_info.Count == 0)
                {
                    msg = "la factura no tiene detalle ";
                    return(false);
                }


                foreach (var item in orden_giro_Info.Info_CbteCble_x_OG._cbteCble_det_lista_info)
                {
                    if (item.IdCtaCble == "")
                    {
                        msg = "el IdCtaCble id:" + item.IdCtaCble + " no puede ser blanco ";
                    }

                    if (item.dc_Valor == 0)
                    {
                        msg = "el dc_Valor no puede ser cero";
                    }
                }

                /*--- Fin validaciones */


                /*--- corrigiendo data */

                if (orden_giro_Info.IdCtaCble_CXP == "" || orden_giro_Info.IdCtaCble_CXP == null || orden_giro_Info.IdCtaCble_Gasto == "" || orden_giro_Info.IdCtaCble_Gasto == null)
                {
                    cp_proveedor_Bus  BusProv   = new cp_proveedor_Bus();
                    cp_proveedor_Info InfoProve = new cp_proveedor_Info();
                    InfoProve = BusProv.Get_Info_Proveedor(orden_giro_Info.IdEmpresa, orden_giro_Info.IdProveedor);
                    orden_giro_Info.IdCtaCble_CXP   = InfoProve.IdCtaCble_CXP;
                    orden_giro_Info.IdCtaCble_Gasto = InfoProve.IdCtaCble_Gasto;
                }


                if (orden_giro_Info.IdCod_101 == 0)
                {
                    cp_codigo_SRI_Bus busCodSri = new cp_codigo_SRI_Bus();
                    orden_giro_Info.IdCod_101 = busCodSri.Get_List_codigo_SRI("COD_101").FirstOrDefault().IdCodigo_SRI;
                }

                if (orden_giro_Info.IdCod_ICE == 0)
                {
                    cp_codigo_SRI_Bus busCodSri = new cp_codigo_SRI_Bus();
                    orden_giro_Info.IdCod_ICE = busCodSri.Get_List_codigo_SRI("COD_ICE").FirstOrDefault().IdCodigo_SRI;
                }

                if (orden_giro_Info.IdIden_credito == 0)
                {
                    cp_codigo_SRI_Bus busCodSri = new cp_codigo_SRI_Bus();
                    orden_giro_Info.IdIden_credito = busCodSri.Get_List_codigo_SRI("COD_IDCREDITO").FirstOrDefault().IdCodigo_SRI;
                }

                if (orden_giro_Info.PaisPago == "")
                {
                    orden_giro_Info.PaisPago = null;
                }


                /*--- 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", ex.Message), ex)
                      {
                          EntityType = typeof(cp_orden_giro_Bus)
                      };
            }
        }
Exemplo n.º 2
0
        public List <cp_nota_DebCre_Info> ProcesarDataTable_ND_x_Saldo_inicial(DataTable ds, ref string MensajeError)
        {
            cp_parametros_Bus  bus_param  = new cp_parametros_Bus();
            cp_parametros_Info info_param = new cp_parametros_Info();

            info_param = bus_param.Get_Info_parametros(param.IdEmpresa);
            cp_proveedor_Info          info_proveedor = new cp_proveedor_Info();
            cp_proveedor_Bus           bus_proveedor  = new cp_proveedor_Bus();
            List <cp_nota_DebCre_Info> lista          = new List <cp_nota_DebCre_Info>();

            int    COLUMNA_ERROR = 0;
            string FILA_ERROR    = "";

            lista.Clear();
            try
            {
                //VALIDAR QUE TENGA MAS DE 12 COLUMNAS
                //if (ds.Columns.Count == 5)
                {
                    //RECORRE EL DATATABLE REGISTRO X REGISTRO
                    if (ds.Rows.Count > 0)
                    {
                        foreach (DataRow row in ds.Rows)
                        {
                            cp_nota_DebCre_Info info = new cp_nota_DebCre_Info();
                            //RECORRE C/U DE LAS COLUMNAS
                            info.IdEmpresa           = param.IdEmpresa;
                            info.IdCbteCble_Nota     = 0;
                            info.IdTipoCbte_Nota     = Convert.ToInt32(info_param.pa_TipoCbte_ND);
                            info.DebCre              = "D";
                            info.IdTipoNota          = "T_TIP_NOTA_INT";
                            info.IdUsuario           = "SysAdmin";
                            info.PagoLocExt          = "LOC";
                            info.ConvenioTributacion = "NA";
                            info.PagoSujetoRetencion = "NA";
                            info.IdTipoFlujo         = 1;
                            info.Fecha_Transac       = param.Fecha_Transac;
                            info.cn_Por_iva          = param.iva.porcentaje;
                            info.IdCtaCble_IVA       = info_param.pa_ctacble_iva;

                            for (int col = 0; col < ds.Columns.Count + 1; col++)
                            {
                                COLUMNA_ERROR = col;
                                switch (col)
                                {
                                case 0:   //cod_prov
                                    info_proveedor   = bus_proveedor.Get_info_proveedor_x_codigo_para_saldo_inicial(param.IdEmpresa, Convert.ToString(row[col]), ref mensaje);
                                    info.IdProveedor = info_proveedor.IdProveedor;
                                    info.InfoProveedor.IdCtaCble_CXP    = info_proveedor.IdCtaCble_CXP;
                                    info.InfoProveedor.pr_codigo        = Convert.ToString(row[col]).ToString();
                                    info.InfoProveedor.pr_nombre        = info_proveedor.pr_nombre;
                                    info.InfoProveedor.IdClaseProveedor = info_proveedor.IdClaseProveedor;
                                    info.IdSucursal = param.IdSucursal;
                                    FILA_ERROR      = "Código " + Convert.ToString(row[col]);
                                    break;

                                case 1:   //# factura
                                    info.cod_nota = Convert.ToString(row[col]).Trim();
                                    FILA_ERROR    = "# factura " + Convert.ToString(row[col]);

                                    //if (info.cod_nota == "000017052")
                                    //{
                                    //    info.cn_observacion = "S.I. FAC # " + info.cod_nota;
                                    //}
                                    break;

                                case 2:   //Fecha factura
                                    info.cn_fecha = Convert.ToDateTime(row[col]).Date;
                                    FILA_ERROR    = "Fecha factura " + Convert.ToString(row[col]);
                                    break;

                                case 3:   //Fecha vcto factura
                                    info.cn_Fecha_vcto = Convert.ToDateTime(row[col]).Date;
                                    FILA_ERROR         = "Fecha vcto factura " + Convert.ToString(row[col]);
                                    break;

                                case 4:   //Saldo
                                    info.Saldo = Convert.ToDouble(row[col]);
                                    info.cn_subtotal_siniva = Convert.ToDouble(row[col]);
                                    info.cn_total           = Convert.ToDecimal(info.Saldo);
                                    info.cn_baseImponible   = info.cn_subtotal_siniva;
                                    FILA_ERROR = "Saldo " + Convert.ToString(row[col]);
                                    break;

                                case 5:   //Observacion
                                    info.cn_observacion = Convert.ToString(row[col]).Trim();
                                    FILA_ERROR          = "Observacion " + Convert.ToString(row[col]);
                                    break;

                                default:
                                    break;
                                }
                            }
                            info.Estado = "A";
                            lista.Add(info);
                        }
                    }
                    else
                    {
                        MensajeError = "Por favor verifique que el archivo contenga Datos.";
                        lista        = new List <cp_nota_DebCre_Info>();
                    }
                }

                /*else
                 * {
                 *  MensajeError = "Por favor verifique que el archivo tenga el formato correcto.\r Son 5 columnas.";
                 *  lista = new List<cp_nota_DebCre_Info>();
                 * }*/
                return(lista);
            }
            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("", "GetId", ex.Message), ex)
                      {
                          EntityType = typeof(cp_proveedor_Bus)
                      };
            }
        }