コード例 #1
0
        public void DeleteData(int id)
        {
            preg_size_guide item = GetItemByWeekID(id).FirstOrDefault();

            connect.preg_size_guide.Remove(item);
            connect.SaveChanges();
        }
コード例 #2
0
		public HttpResponseMessage UpdateData(string id, preg_size_guide dataUpdate)
		{
			try
			{
				if (!dataUpdate.DeepEquals(new preg_size_guide()))
				{
					preg_size_guide size_guide = new preg_size_guide();
					size_guide = dao.GetItemByWeekID(Convert.ToInt32(id)).FirstOrDefault();
					if (size_guide == null)
					{
						return Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND);
					}
					if (dataUpdate.image != null)
					{
						size_guide.image = dataUpdate.image;
					}
					if (dataUpdate.title != null)
					{
						size_guide.title = dataUpdate.title;
					}
					if (dataUpdate.description != null)
					{
						size_guide.description = dataUpdate.description;
					}
					if (dataUpdate.week_id != null)
					{
						size_guide.week_id = dataUpdate.week_id;
					}
					if (dataUpdate.length != null)
					{
						size_guide.length = dataUpdate.length;
					}
					if (dataUpdate.weight != null)
					{
						size_guide.weight = dataUpdate.weight;
					}
					if (dataUpdate.type != null)
					{
						size_guide.type = dataUpdate.type;
					}

					dao.UpdateData(size_guide);
					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);
			}
		}
コード例 #3
0
        public IQueryable <preg_size_guide> GetItemsByParams(preg_size_guide data)
        {
            IQueryable <preg_size_guide> result = connect.preg_size_guide;

            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 == "id" && (int)propertyValue != 0)
                {
                    result = result.Where(c => c.id == (int)(propertyValue));
                }
                else if (propertyName == "image" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.image) > 0);
                }
                else if (propertyName == "title" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.title) > 0);
                }
                else if (propertyName == "description" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.description) > 0);
                }
                else if (propertyName == "week_id" && propertyValue != null)
                {
                    result = result.Where(c => c.week_id == (int)(propertyValue));
                }
                else if (propertyName == "length" && propertyValue != null)
                {
                    result = result.Where(c => c.length == (double)(propertyValue));
                }
                else if (propertyName == "weight" && propertyValue != null)
                {
                    result = result.Where(c => c.weight == (double)(propertyValue));
                }
                else if (propertyName == "type" && propertyValue != null)
                {
                    result = result.Where(c => c.type == (int)(propertyValue));
                }
            }
            return(result);
        }
コード例 #4
0
		public HttpResponseMessage Post([FromBody]preg_size_guide data)
		{
			try
			{
				if (!data.DeepEquals(new preg_size_guide()))
				{
					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);
			}
		}
コード例 #5
0
		public HttpResponseMessage Get(string id)
		{
			try
			{
				preg_size_guide data = dao.GetItemByWeekID(Convert.ToInt32(id)).FirstOrDefault();
				if (data != null)
				{
					return Request.CreateResponse(HttpStatusCode.OK, data);
				}
				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);
			}
		}
コード例 #6
0
		public HttpResponseMessage Get([FromUri]preg_size_guide data)
		{
			try
			{
				if (!data.DeepEquals(new preg_size_guide()))
				{
					IEnumerable<preg_size_guide> result = dao.GetItemsByParams(data);
					if (result.Count() > 0)
					{
						return Request.CreateResponse(HttpStatusCode.OK, result);
					}
					else
					{
						HttpError err = new HttpError(SysConst.DATA_NOT_FOUND);
						return Request.CreateErrorResponse(HttpStatusCode.NotFound, err);
					}
				}
				else
				{
					IEnumerable<preg_size_guide> result = dao.GetListItem();
					if (result.Count() > 0)
					{
						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);
			}
		}
コード例 #7
0
		public async Task<HttpResponseMessage> Upload(string size_guide_id)
		{
			// Check daily_id exist
			preg_size_guide checkItem = dao.GetItemByWeekID(Convert.ToInt32(size_guide_id)).FirstOrDefault();
			if (checkItem == null)
			{
				return Request.CreateErrorResponse(HttpStatusCode.BadRequest, String.Format(SysConst.ITEM_ID_NOT_EXIST, size_guide_id));
			}
			// Get current user_id
			int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value);
			string dir = "/Files/SizeGuides/" + size_guide_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_size_guide updateRow = new preg_size_guide();
				foreach (MultipartFileData file in provider.FileData)
				{
					string path = dir + "/" + HttpUtility.UrlPathEncode(Path.GetFileName(file.LocalFileName));
					files.Add(path);
					updateRow.image = path;
				}
				UpdateData(size_guide_id, updateRow);

				return Request.CreateResponse(HttpStatusCode.Created, files);
			}
			catch (System.Exception ex)
			{
				return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
			}
		}
コード例 #8
0
		public HttpResponseMessage Put(string id, [FromBody]preg_size_guide dataUpdate)
		{
			return UpdateData(id, dataUpdate);
		}
コード例 #9
0
 public void UpdateData(preg_size_guide item)
 {
     connect.SaveChanges();
 }
コード例 #10
0
 public void InsertData(preg_size_guide item)
 {
     connect.preg_size_guide.Add(item);
     connect.SaveChanges();
 }