public ServiceResult ChangeMessageStatus(string Ids, Member_MessageStatus MessageStatus, bool IsSender) { ServiceResult result = new ServiceResult(); try { var IdsArray = Ids.Split(',').Select(x => Convert.ToInt32(x)); var StatusValue = (int)MessageStatus; if (IsSender) { DB_Service.Set<Member_Message>().Where(x => IdsArray.Contains(x.ID)).ToList().ForEach(x => x.SenderStatus = StatusValue); } else { DB_Service.Set<Member_Message>().Where(x => IdsArray.Contains(x.ID)).ToList().ForEach(x => x.RecipienterStatus = StatusValue); } DB_Service.Commit(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { result.AddServiceError(Utilities.GetInnerMostException(ex)); } return result; }
public IQueryable<Member_Message> GetMemberMessage(int MemberID, Member_MessageStatus MessageStatus, bool IsSender, bool IncludeUpLevel = false) { var StatusVlaue = (int)MessageStatus; var query = DB_Service.Set<Member_Message>(); if (IsSender) { query = query.Where(x => x.SenderID == MemberID); } else { query = query.Where(x => x.RecipientID == MemberID); } if (IncludeUpLevel) { if (IsSender) { query = query.Where(x => x.SenderStatus >= StatusVlaue); } else { query = query.Where(x => x.RecipienterStatus >= StatusVlaue); } } else { if (IsSender) { query = query.Where(x => x.SenderStatus == StatusVlaue); } else { query = query.Where(x => x.RecipienterStatus == StatusVlaue); } } return query; }