public JsonResult SearchMessage(SearchTicketViewModel model) { Response response; var currentUser = GetAuthenticatedUser(); try { using (var db = new KiaGalleryContext()) { string serverPath = Server.MapPath("~/Upload/ticketFile"); string aa = Path.Combine(serverPath, "5403-carrot-apple.png"); if (System.IO.File.Exists(aa)) { } var query = db.TicketMessage.Where(x => x.TicketId == model.ticketId).Select(x => x); var list = query.Select(x => new TicketViewModel { id = x.Id, title = x.Ticket.Title, fileName = x.FileName, ticketId = x.TicketId, text = x.Text, sender = x.CreateUserId == currentUser.Id, createDate = x.CreateDate, userName = x.CreateUser.FirstName + " " + x.CreateUser.LastName, }).ToList(); list.ForEach(x => { if (!string.IsNullOrEmpty(x.fileName)) { x.fileNameList = x.fileName.Split('*').Select(y => new TicketFileViewModel { fileName = y, fileExtension = Path.GetExtension(Path.Combine(serverPath, y)) }).ToArray(); } x.createTime = x.createDate.ToString("HH:mm"); }); response = new Response() { status = 200, data = new { list = list, } }; } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult Search(SearchTicketViewModel model) { Response response; var currentUser = GetAuthenticatedUser(); try { using (var db = new KiaGalleryContext()) { var query = db.Ticket.Where(x => x.FromUserId == currentUser.Id || x.ToUserId == currentUser.Id).Select(x => x); var list = query.Select(x => new TicketViewModel { id = x.Id, title = x.Title, text = x.TicketMessagesList.OrderByDescending(y => y.Id).Select(y => y.Text).FirstOrDefault(), ticketStatus = x.TicketStatus, createDate = x.CreateDate, toUserId = x.ToUserId, fromUserName = x.FromUser.FirstName + " " + x.FromUser.LastName, toUserName = x.ToUser.FirstName + " " + x.ToUser.LastName, }).ToList(); var dataCount = query.Count(); list.ForEach(x => { x.ticketStatusTitle = Enums.GetTitle(x.ticketStatus); x.persianDate = DateUtility.GetPersianDateTime(x.createDate); }); response = new Response() { status = 200, data = new { list = list, pageCount = Math.Ceiling((double)dataCount / model.count), count = dataCount, page = model.page + 1 } }; } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }