public static tblUserSubAccount TotblUserSubAccount(this VMUserSubAccount model) { tblUserSubAccount entity = new tblUserSubAccount(); entity.Id = model.Id; entity.DefaultToId = model.DefaultToId; entity.DefaultFromId = model.DefaultFromId; entity.ToAssociatedId = model.ToAssociatedId; entity.FromAssociatedId = model.FromAssociatedId; return(entity); }
public void UpdateUserSubAccount(long UserId, string DTaccount, string DFaccount, List <string> TAaccount, List <string> FAaccount, long CurrentUser, long CompanyId) { using (OriginatorEntities db = new OriginatorEntities()) { long GetDefaultToAccount = (from data in db.tblSubAccounts where data.AccountNumber == DTaccount select data.Id).FirstOrDefault(); long GetDefaultFromAccount = (from data in db.tblSubAccounts where data.AccountNumber == DFaccount select data.Id).FirstOrDefault(); List <long> IdsOfToAssociatedAccounts = new List <long>(); List <long> IdsOfFromAssociatedAccounts = new List <long>(); foreach (var item in TAaccount) { long Id = (from data in db.tblSubAccounts where data.AccountNumber == item select data.Id).FirstOrDefault(); IdsOfToAssociatedAccounts.Add(Id); } foreach (var a in FAaccount) { long Id = (from data in db.tblSubAccounts where data.AccountNumber == a select data.Id).FirstOrDefault(); IdsOfFromAssociatedAccounts.Add(Id); } List <long> NewIdsOfToAssociated = IdsOfToAssociatedAccounts.Distinct().ToList(); List <long> NewIdsOfFromAssociated = IdsOfFromAssociatedAccounts.Distinct().ToList(); string FinalToAssociatedAccounts = string.Join(",", NewIdsOfToAssociated.Select(n => n.ToString()).ToArray()); string FinalFromAssociatedAccounts = string.Join(",", NewIdsOfFromAssociated.Select(n => n.ToString()).ToArray()); string ToAssociatedId = ',' + FinalToAssociatedAccounts + ','; string FromAssociatedId = ',' + FinalFromAssociatedAccounts + ','; tblUserSubAccount found = (from data in db.tblUserSubAccounts where data.UserId == UserId && data.CompanyId == CompanyId select data).FirstOrDefault(); if (found != null) { if (!string.IsNullOrWhiteSpace(GetDefaultToAccount.ToString())) { found.DefaultToId = GetDefaultToAccount; } if (!string.IsNullOrWhiteSpace(GetDefaultFromAccount.ToString())) { found.DefaultFromId = GetDefaultFromAccount; } if (!string.IsNullOrWhiteSpace(ToAssociatedId)) { found.ToAssociatedId = ToAssociatedId; } if (!string.IsNullOrWhiteSpace(FromAssociatedId)) { found.FromAssociatedId = FromAssociatedId; } if (CompanyId > 0) { found.CompanyId = CompanyId; } if (CurrentUser > 0) { found.ModifiedBy = CurrentUser; } found.ModifiedDate = DateTime.Now; } else { tblUserSubAccount table = new tblUserSubAccount { UserId = UserId, DefaultToId = GetDefaultToAccount, DefaultFromId = GetDefaultFromAccount, ToAssociatedId = ToAssociatedId, FromAssociatedId = FromAssociatedId, CreatedBy = CurrentUser, CreatedDate = DateTime.Now, CompanyId = CompanyId }; db.tblUserSubAccounts.Add(table); } db.SaveChanges(); } }