public void SaveOrUpdate(PartyRole model) { try { var partyRoles = new PartyRoles { PersonalityRoleCodeId = model.PersonalityRoleCodeId, ValidFrom = model.ValidFrom.IsValidPersianDate() ? model.ValidFrom.ConvertJalaliToMiladi() : default(DateTime), Created = DateTime.Now, Modified = DateTime.Now, CreatedBy = model.CreatedBy, ModifiedBy = model.ModifiedBy }; if (string.IsNullOrEmpty(model.ValidUntil)) { partyRoles.ValidUntil = null; } else { partyRoles.ValidUntil = model.ValidUntil.ConvertJalaliToMiladi(); } var newParty = new Domain.Entity.Party { NationalId = string.IsNullOrEmpty(model.NationalId) ? new Guid().ToString() : model.NationalId.SafeString().SafeTrim().Replace("-", ""), CreatedBy = model.CreatedBy, ModifiedBy = model.ModifiedBy, Modified = DateTime.Now, Created = DateTime.Now, ValidFrom = model.ValidFrom.ConvertJalaliToMiladi(), ValidUntil = null, FirstName = model.PartyType == (int)PartyType.Retail ? model.PartyFirstName.SafePersianEncode().SafeString() : null, LastName = model.PartyType == (int)PartyType.Retail ? model.PartyLastName.SafePersianEncode().SafeString() : null, Name = model.PartyType == (int)PartyType.Institutional ? model.PartyName : null, PartyType = model.PartyType, NationalityPlaceId = 1 }; newParty.FullName = string.IsNullOrEmpty(newParty.Name) ? (newParty.FirstName + " " + newParty.LastName).SafeString().SafeTrim() : newParty.Name.SafeString().SafeTrim(); var party = PartyService.GetByNationalId(model.NationalId); if (party != null) { UpdatePartyRole(model, partyRoles, party, newParty); } else { // SavePartyRole(newParty, partyRoles); } } catch (Exception e) { Logger.ErrorException(e.Message, e); throw; } }
} // !FromString() internal static string EnumToString(this PartyRoles c) { try { return(_Mapping.Single(m => m.Value.Equals(c)).Key); } catch (Exception) { return("unknown"); } } // !ToString()
internal static PartyRoles FromString(this PartyRoles _, string s) { s = s.ToLower().Trim(); try { return(_Mapping.Single(m => m.Key.Equals(s)).Value); } catch (Exception) { return(PartyRoles.Unknown); } } // !FromString()
//private void SavePartyRole(Party newParty, PartyRoles partyRoles) //{ // var partyDetailLedger = SetPartyDetailLedger(newParty); // var dbFactory = CoreContainer.Container.Resolve<IDbFactory>(); // using (var uow = dbFactory.Create<IUnitOfWork, ISession>(IsolationLevel.Serializable)) // { // try // { // newParty.DetailLedgerCode = partyDetailLedger.Code; // var pid = PartyService.SaveSimpleParty(newParty, uow); // partyRoles.PartyId = pid; // PartyRolesService.Save(partyRoles, uow); // } // catch (Exception ex) // { // uow.Rollback(); // throw ex; // } // } //} private void UpdatePartyRole(PartyRole model, PartyRoles partyRoles, Party party, Party newParty) { partyRoles.PartyId = party.Id; var exist = PartyRolesService.GetRoleByPartyId(party.Id, (PersonalityRole)model.PersonalityRoleCodeId); if (exist != null) { partyRoles.Id = exist.Id; var dbFactory = CoreContainer.Container.Resolve <IDbFactory>(); using (var uow = dbFactory.Create <IUnitOfWork, ISession>(IsolationLevel.Serializable)) { try { newParty.Id = party.Id; PartyService.UpdateSimpleParty(newParty, uow); PartyRolesService.SaveOrUpdate(partyRoles, uow); } catch (Exception ex) { uow.Rollback(); throw ex; } } } else { var dbFactory = CoreContainer.Container.Resolve <IDbFactory>(); using (var uow = dbFactory.Create <IUnitOfWork, ISession>(IsolationLevel.Serializable)) { try { newParty.Id = party.Id; PartyService.UpdateSimpleParty(newParty, uow); PartyRolesService.Save(partyRoles, uow); } catch (Exception ex) { uow.Rollback(); throw ex; } } } }