public static bool DeleteNotice(int id) { using (var context = new NoticeBoardEntities()) { var notice = context.Notices.FirstOrDefault(x => x.NoticeId == id); if (notice != null) { notice.IsActive = ActiveStatus.Deleted; context.SaveChanges(); return(true); } return(false); } }
public static List <NoticeModel> GetNotices(NoticeFilterModel model, ref int recordsCount) { using (var context = new NoticeBoardEntities()) { List <NoticeModel> notices = context.Notices.Where(x => x.IsActive == ActiveStatus.Active).Join(context.Users, n => n.UserId, u => u.UserId, (n, u) => new NoticeModel { noticeId = n.NoticeId, userId = n.UserId, title = n.Title, body = n.Body, IsActive = n.IsActive, lastUpdatedOn = n.LastUpdatedOn, postedOn = n.PostedOn, userData = new UserModel() { email = u.Email, isActive = u.IsActive, userName = u.UserName, userId = u.UserId }, }).ToList(); recordsCount = notices.Count; switch (model.sortBy) { case "postedBy": notices = notices.OrderBy(x => x.userData.email).ToList(); break; case "title": notices = notices.OrderBy(x => x.title).ToList(); break; default: notices = notices.OrderByDescending(x => x.postedOn).ToList(); break; } return(AddPaginationToNotices(notices, model)); } }
public static LoginResponseModel Login(LoginRequestModel model) { using (var context = new NoticeBoardEntities()) { User user = context.Users.FirstOrDefault(x => x.UserName == model.userName && x.Password == model.password && x.IsActive == ActiveStatus.Active); if (user != null) { return(new LoginResponseModel() { email = user.Email, userId = user.UserId, userName = user.UserName }); } else { return(null); } } }
public static NoticeModel GetNoticeDetails(int noticeId) { using (var context = new NoticeBoardEntities()) { return(context.Notices.Join(context.Users, n => n.UserId, u => u.UserId, (n, u) => new NoticeModel { noticeId = n.NoticeId, userId = n.UserId, title = n.Title, body = n.Body, IsActive = n.IsActive, lastUpdatedOn = n.LastUpdatedOn, postedOn = n.PostedOn, userData = new UserModel() { email = u.Email, isActive = u.IsActive, userName = u.UserName, userId = u.UserId }, }).FirstOrDefault(x => x.noticeId == noticeId)); } }
public static bool AddOrUpdateNotice(NoticeModel model) { using (var context = new NoticeBoardEntities()) { if (model.noticeId == 0) { context.Notices.Add(new Notice() { Title = model.title, Body = model.body, IsActive = ActiveStatus.Active, PostedOn = DateTime.UtcNow, LastUpdatedOn = DateTime.UtcNow, UserId = model.userId }); context.SaveChanges(); return(true); } else { Notice notice = context.Notices.FirstOrDefault(x => x.NoticeId == model.noticeId && x.UserId == model.userId); if (notice == null) { return(false); } else { notice.Title = model.title; notice.Body = model.body; notice.LastUpdatedOn = DateTime.UtcNow; context.SaveChanges(); return(true); } } } }