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