public static Result Add(VirtualSwitchDto pVirtualSwitch) { var _result = new Result(); using (var _db = new Rbr_Db()) { using (var _tx = new Transaction(_db, pVirtualSwitch)) { try { //1. REQUIRED set Contact Info if (pVirtualSwitch.ContactInfo.ContactInfoId == 0) { ContactInfoManager.Add(_db, pVirtualSwitch.ContactInfo); } VirtualSwitchManager.Add(_db, pVirtualSwitch); _tx.Commit(); } catch (Exception _ex) { if (pVirtualSwitch.ContactInfo != null) { pVirtualSwitch.ContactInfo.ContactInfoId = 0; } _result.Success = false; _result.ErrorMessage = _ex.Message; TimokLogger.Instance.LogRbr(LogSeverity.Error, "VirtualSwitchController.Add", string.Format("Exception:\r\n{0}", _ex)); } } } return(_result); }
public static Result SafeSave(PersonDto pPerson, string pSalt) { var _result = new Result(); using (var _db = new Rbr_Db()) { using (var _tx = new Transaction(_db, pPerson, pSalt)) { try { if (pPerson.AccessScope == AccessScope.Switch && pPerson.VirtualSwitchId != AppConstants.DefaultVirtualSwitchId) { throw new Exception("Invalid state, DefaultVirtualSwitch not set"); } if (pPerson.AccessScope == AccessScope.VirtualSwitch && pPerson.VirtualSwitchId <= 0) { throw new Exception("Invalid state, VirtualSwitch not set"); } if (pPerson.AccessScope == AccessScope.Partner && pPerson.PartnerId == 0) { throw new Exception("Invalid state, Partner not set"); } if (pPerson.AccessScope == AccessScope.ResellAgent && pPerson.PartnerId == 0) { throw new Exception("Invalid state, Partner not set"); } if (pPerson.AccessScope == AccessScope.CustomerSupport && pPerson.GroupId == 0) { throw new Exception("Invalid state, Group not set"); } if (pPerson.AccessScope == AccessScope.Consumer && pPerson.RetailAcctId == 0) { throw new Exception("Invalid state, RetailAccount not set"); } if (pPerson.AccessScope == AccessScope.None) { throw new Exception("Invalid state, AccessScope not set"); } //1. REQUIRED set Contact Info if (pPerson.ContactInfo != null) { ContactInfoManager.Add(_db, pPerson.ContactInfo); } PersonManager.Save(_db, pSalt, pPerson); _tx.Commit(); } catch (Exception _ex) { //_db.RollbackTransaction(); _result.Success = false; _result.ErrorMessage = _ex.Message; TimokLogger.Instance.LogRbr(LogSeverity.Error, "PersonController.SafeSave", string.Format("Exception:\r\n{0}", _ex)); } } } return(_result); }
//NOTE: Use Save() when calling directly, it will generate correct salt. //NOTE: Add and Update should be used only by Replication on the remote side, so that they don't regenerate salt again !!! public static void Add(string pSalt, PartnerDto pPartner) { using (Rbr_Db _db = new Rbr_Db()) { using (Transaction _tx = new Transaction(_db, pSalt, pPartner)) { try { if (pPartner.ContactInfo.ContactInfoId == 0) { ContactInfoManager.Add(_db, pPartner.ContactInfo); } if (pPartner.BillingSchedule != null) { ScheduleManager.Save(_db, pPartner.BillingSchedule); } PartnerManager.Add(_db, pPartner); if (pPartner.Employees != null) { foreach (PersonDto _employee in pPartner.Employees) { _employee.PartnerId = pPartner.PartnerId; PersonManager.Save(_db, pSalt, _employee); } } } catch (Exception _ex) { TimokLogger.Instance.LogRbr(LogSeverity.Error, "PartnerController.add", string.Format("Exception:\r\n{0}", _ex)); if (pPartner.ContactInfo != null) { pPartner.ContactInfo.ContactInfoId = 0; } if (pPartner.Employees != null) { foreach (PersonDto _employee in pPartner.Employees) { _employee.PersonId = 0; } } if (pPartner.BillingSchedule != null) { pPartner.BillingSchedule.ScheduleId = 0; } throw; } _tx.Commit(); } } }
public static void Save(CustomerSupportVendorDto pCustomerSupportVendor) { using (Rbr_Db _db = new Rbr_Db()) { using (Transaction _tx = new Transaction(_db, pCustomerSupportVendor)) { //1. REQUIRED set Contact Info if (pCustomerSupportVendor.ContactInfo.ContactInfoId == 0) { ContactInfoManager.Add(_db, pCustomerSupportVendor.ContactInfo); } else { ContactInfoManager.Update(_db, pCustomerSupportVendor.ContactInfo); } CustomerSupportManager.SaveCustomerSupportVendor(_db, pCustomerSupportVendor); _tx.Commit(); } } }