public SettingsResult Post(SettingsRequest request) { var retVal = new SettingsResult(); retVal.IsSuccess = DAL.Instance.SaveUserSettings(request); return retVal; }
public bool SaveUserSettings(SettingsRequest request) { if (request != null) { var user = DAL.Instance.GetUserByCID(request.CID); if (user != null && user.CID > 0) { user.IsEmailUpdates = request.IsEmailUpdates; if (CIDToUserDataDic.ContainsKey(user.CID)) { if (CIDToUserDataDic[user.CID].SubscribedProductIdList == null) { CIDToUserDataDic[user.CID].SubscribedProductIdList = new List<int>(); } foreach (KeyValuePair<int, int> entry in request.SubscribedProductIdDic) { if (!CIDToUserDataDic[user.CID].SubscribedProductIdList.Contains(entry.Key)) { CIDToUserDataDic[user.CID].SubscribedProductIdList.Add(entry.Key); } if (!ProductIdToSubscriberCIDList.ContainsKey(entry.Key)) { ProductIdToSubscriberCIDList.Add(entry.Key, new List<int>()); } if (!ProductIdToSubscriberCIDList[entry.Key].Contains(user.CID)) { ProductIdToSubscriberCIDList[entry.Key].Add(user.CID); } } } return true; } } return false; }