protected static FR_L3TX_STfDCaRR_1119_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L3TX_STfDCaRR_1119 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L3TX_STfDCaRR_1119_Array(); var DBLanguages = cls_Get_All_Languages.Invoke(Connection, Transaction, securityTicket).Result.ToList(); var defaultCountryISOCode = cls_Get_DefaultCountryISOCode_for_TenantID.Invoke(Connection, Transaction, securityTicket).Result; var defaultCountry = CL1_CMN.ORM_CMN_Country.Query.Search(Connection, Transaction, new ORM_CMN_Country.Query { Country_ISOCode_Alpha2 = defaultCountryISOCode.Country_639_1_ISOCode, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).SingleOrDefault(); var param = new P_L3TX_GTfCICaT_1359(); param.CountryISOCode = defaultCountryISOCode.Country_639_1_ISOCode; var taxes = cls_Get_Taxes_for_CountryISOCode_and_TenantID.Invoke(Connection, Transaction, param, securityTicket).Result; var result = new List <L3TX_STfDCaRR_1119>(); foreach (var taxRate in Parameter.TaxRates) { var tax = taxes.Where(i => i.TaxRate == taxRate).SingleOrDefault(); if (tax == default(L3TX_GTfCICaT_1359)) { var saveTaxParam = new P_L3TX_STX_1119(); saveTaxParam.ACC_TAX_TaxeID = Guid.Empty; saveTaxParam.EconomicRegion_RefID = Guid.Empty; saveTaxParam.Country_RefID = defaultCountry.CMN_CountryID; saveTaxParam.TaxRate = taxRate; saveTaxParam.TaxName = new Dict(ORM_ACC_TAX_Tax.TableName); foreach (var language in DBLanguages) { saveTaxParam.TaxName.AddEntry(language.CMN_LanguageID, taxRate.ToString()); } var saveTaxResult = cls_Save_Tax.Invoke(Connection, Transaction, saveTaxParam, securityTicket).Result; result.Add(new L3TX_STfDCaRR_1119() { TaxID = saveTaxResult, TaxRate = taxRate }); } else { result.Add(new L3TX_STfDCaRR_1119() { TaxID = tax.ACC_TAX_TaxeID, TaxRate = tax.TaxRate }); } } returnValue.Result = result.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3TX_STX_1119 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); // Set Economic region if (Parameter.EconomicRegion_RefID == Guid.Empty) { var countryRegion = ORM_CMN_Country_2_EconomicRegion.Query.Search(Connection, Transaction, new ORM_CMN_Country_2_EconomicRegion.Query { IsDeleted = false, CMN_Country_RefID = Parameter.Country_RefID }).SingleOrDefault(); if (countryRegion == null) { var country = new ORM_CMN_Country(); country.Load(Connection, Transaction, Parameter.Country_RefID); var region = new ORM_CMN_EconomicRegion(); region.EconomicRegion_Name = new Dict() { DictionaryID = Guid.NewGuid() }; region.Tenant_RefID = country.Tenant_RefID; region.IsEconomicRegionCountry = true; foreach (var content in country.Country_Name.Contents) { region.EconomicRegion_Name.AddEntry(content.LanguageID, content.Content); } region.Save(Connection, Transaction); countryRegion = new ORM_CMN_Country_2_EconomicRegion(); countryRegion.CMN_EconomicRegion_RefID = region.CMN_EconomicRegionID; countryRegion.CMN_Country_RefID = country.CMN_CountryID; countryRegion.Tenant_RefID = country.Tenant_RefID; countryRegion.Save(Connection, Transaction); } Parameter.EconomicRegion_RefID = countryRegion.CMN_EconomicRegion_RefID; } var item = new ORM_ACC_TAX_Tax(); if (Parameter.ACC_TAX_TaxeID != Guid.Empty) { item.Load(Connection, Transaction, Parameter.ACC_TAX_TaxeID); } if (Parameter.IsDeleted == true) { item.IsDeleted = true; return(new FR_Guid(item.Save(Connection, Transaction), item.ACC_TAX_TaxeID)); } //Creation specific parameters (Tenant, Account ... ) if (Parameter.ACC_TAX_TaxeID == Guid.Empty) { item.Tenant_RefID = securityTicket.TenantID; } item.EconomicRegion_RefID = Parameter.EconomicRegion_RefID; item.TaxName = Parameter.TaxName; item.TaxRate = Parameter.TaxRate; return(new FR_Guid(item.Save(Connection, Transaction), item.ACC_TAX_TaxeID)); #endregion UserCode }
///<summary> /// Invokes the method for the given Connection, and Transaction, leaving them open/not commited if no exceptions occured ///<summary> public static FR_Guid Invoke(DbConnection Connection, DbTransaction Transaction, P_L3TX_STX_1119 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { return(Invoke(Connection, Transaction, null, Parameter, securityTicket)); }
///<summary> /// Method Invocation of wrapper classes ///<summary> protected static FR_Guid Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L3TX_STX_1119 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { bool cleanupConnection = Connection == null; bool cleanupTransaction = Transaction == null; FR_Guid functionReturn = new FR_Guid(); try { if (cleanupConnection == true) { Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString); Connection.Open(); } if (cleanupTransaction == true) { Transaction = Connection.BeginTransaction(); } functionReturn = Execute(Connection, Transaction, Parameter, securityTicket); #region Cleanup Connection/Transaction //Commit the transaction if (cleanupTransaction == true) { Transaction.Commit(); } //Close the connection if (cleanupConnection == true) { Connection.Close(); } #endregion } catch (Exception ex) { try { if (cleanupTransaction == true && Transaction != null) { Transaction.Rollback(); } } catch { } try { if (cleanupConnection == true && Connection != null) { Connection.Close(); } } catch { } throw new Exception("Exception occured in method cls_Save_Tax", ex); } return(functionReturn); }
///<summary> /// Opens the connection/transaction for the given connectionString, and closes them when complete ///<summary> public static FR_Guid Invoke(string ConnectionString, P_L3TX_STX_1119 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { return(Invoke(null, null, ConnectionString, Parameter, securityTicket)); }