public HttpResponseMessage Post([FromBody] preg_weekly_interact data) { try { int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); if (data.week_id != 0) { //Check exist preg_weekly_interact checkExist = dao.GetItemsByParams(new preg_weekly_interact() { user_id = user_id, week_id = data.week_id }).FirstOrDefault(); if (checkExist != null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, SysConst.DATA_EXIST)); } data.user_id = user_id; dao.InsertData(data); return(Request.CreateResponse(HttpStatusCode.Created, SysConst.DATA_INSERT_SUCCESS)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_EMPTY); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public void InsertData(preg_weekly_interact item) { try { connect.preg_weekly_interact.Add(item); connect.SaveChanges(); } catch (System.Exception ex) { throw ex; } }
public IQueryable <preg_weekly_interact> GetItemsByParams(preg_weekly_interact data) { IQueryable <preg_weekly_interact> result = connect.preg_weekly_interact; for (int i = 0; i < data.GetType().GetProperties().ToList().Count(); i++) { string propertyName = data.GetType().GetProperties().ToList()[i].Name; var propertyValue = data.GetType().GetProperty(propertyName).GetValue(data, null); if (propertyName == "week_id" && (int)propertyValue != 0) { result = result.Where(c => c.week_id == (int)(propertyValue)); } else if (propertyName == "user_id" && (int)propertyValue != 0) { result = result.Where(c => c.user_id == (int)(propertyValue)); } else if (propertyName == "like" && propertyValue != null) { result = result.Where(c => c.like == (int)(propertyValue)); } else if (propertyName == "comment" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.comment) > 0); } else if (propertyName == "photo" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.photo) > 0); } else if (propertyName == "share" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.share) > 0); } else if (propertyName == "notification" && propertyValue != null) { result = result.Where(c => c.notification == (int)(propertyValue)); } else if (propertyName == "status" && propertyValue != null) { result = result.Where(c => c.status == (int)(propertyValue)); } } return(result); }
public HttpResponseMessage Delete(string week_id) { try { int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); preg_weekly_interact item = dao.GetItemByID(Convert.ToInt32(week_id), user_id).FirstOrDefault(); if (item == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND)); } dao.DeleteData(item); return(Request.CreateResponse(HttpStatusCode.Accepted, SysConst.DATA_DELETE_SUCCESS)); } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public HttpResponseMessage Get([FromUri] preg_weekly_interact data) { try { int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); if (!data.DeepEquals(new preg_weekly_interact())) { data.user_id = user_id; IQueryable <preg_weekly_interact> result = dao.GetItemsByParams(data); if (result.Any()) { return(Request.CreateResponse(HttpStatusCode.OK, result)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_FOUND); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } } else { IQueryable <preg_weekly_interact> result = dao.GetListItem().Where(c => c.user_id == user_id); if (result.Any()) { return(Request.CreateResponse(HttpStatusCode.OK, result)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_FOUND); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } }
public void DeleteData(preg_weekly_interact item) { connect.preg_weekly_interact.Remove(item); connect.SaveChanges(); }
public void UpdateData(preg_weekly_interact item) { connect.SaveChanges(); }
public HttpResponseMessage Put(string week_id, [FromBody] preg_weekly_interact dataUpdate) { int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); return(UpdateData(week_id, user_id, dataUpdate)); }
public async Task <HttpResponseMessage> Upload(string week_id) { // Get current user_id int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); // Check preg_weekly_interact exist preg_weekly_interact checkItem = dao.GetItemByID(Convert.ToInt32(week_id), Convert.ToInt32(user_id)).FirstOrDefault(); if (checkItem == null) { preg_weekly_interact insertItem = new preg_weekly_interact() { week_id = Convert.ToInt32(week_id), user_id = Convert.ToInt32(user_id) }; dao.InsertData(insertItem); } string dir = "/Files/WeeklyInteract/" + week_id.ToString() + "/" + user_id.ToString(); string dirRoot = HttpContext.Current.Server.MapPath(dir); // Check if request contains multipart/form-data if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } // Check if directory folder created if (!Directory.Exists(dirRoot)) { Directory.CreateDirectory(dirRoot); } // Check if image and html filetype for (int i = 0; i < HttpContext.Current.Request.Files.Count; i++) { HttpPostedFile file = HttpContext.Current.Request.Files[i]; if (!SysConst.imgOnlyExtensions.Any(x => x.Equals(Path.GetExtension(file.FileName.ToLower()), StringComparison.OrdinalIgnoreCase))) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, SysConst.INVALID_FILE_TYPE)); } else if (File.Exists(dirRoot + "/" + file.FileName)) { File.Delete(dirRoot + "/" + file.FileName); } } CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(dirRoot); List <string> files = new List <string>(); try { // Read all contents of multipart message into CustomMultipartFormDataStreamProvider. await Request.Content.ReadAsMultipartAsync(provider); // Update to database preg_weekly_interact updateRow = new preg_weekly_interact(); foreach (MultipartFileData file in provider.FileData) { string path = dir + "/" + HttpUtility.UrlPathEncode(Path.GetFileName(file.LocalFileName)); files.Add(path); updateRow.photo = path; } UpdateData(week_id, user_id, updateRow); return(Request.CreateResponse(HttpStatusCode.Created, files)); } catch (System.Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex)); } }
public HttpResponseMessage UpdateData(string week_id, int user_id, [FromBody] preg_weekly_interact dataUpdate) { try { if (!dataUpdate.DeepEquals(new preg_weekly_interact())) { preg_weekly_interact weekly_interact = new preg_weekly_interact(); weekly_interact = dao.GetItemByID(Convert.ToInt32(week_id), user_id).FirstOrDefault(); if (weekly_interact == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND)); } if (dataUpdate.like != null) { weekly_interact.like = dataUpdate.like; } if (dataUpdate.comment != null) { weekly_interact.comment = dataUpdate.comment; if (dataUpdate.comment.ToLower() == "null") { weekly_interact.comment = null; } } if (dataUpdate.photo != null) { weekly_interact.photo = dataUpdate.photo; if (dataUpdate.photo.ToLower() == "null") { weekly_interact.photo = null; } } if (dataUpdate.share != null) { weekly_interact.share = dataUpdate.share; if (dataUpdate.share.ToLower() == "null") { weekly_interact.share = null; } } if (dataUpdate.notification != null) { weekly_interact.notification = dataUpdate.notification; } if (dataUpdate.status != null) { weekly_interact.status = dataUpdate.status; } dao.UpdateData(weekly_interact); return(Request.CreateResponse(HttpStatusCode.Accepted, SysConst.DATA_UPDATE_SUCCESS)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_EMPTY); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }