public IQueryable <preg_medical_test> GetItemsByParams(preg_medical_test data)
        {
            IQueryable <preg_medical_test> result = connect.preg_medical_test;

            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 == "title" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.title) > 0);
                }
                else if (propertyName == "type" && propertyValue != null)
                {
                    result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.type) > 0);
                }
                else if (propertyName == "price" && propertyValue != null)
                {
                    result = result.Where(c => c.price == (double)(propertyValue));
                }
            }
            return(result);
        }
 public HttpResponseMessage Get([FromUri] preg_medical_test data)
 {
     try
     {
         IEnumerable <preg_medical_test> result;
         if (!data.DeepEquals(new preg_medical_test()))
         {
             result = dao.GetItemsByParams(data);
         }
         else
         {
             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));
     }
 }
        public HttpResponseMessage Post([FromBody] preg_medical_package_test data)
        {
            try
            {
                if (data.medical_service_package_id != 0 && data.medical_test_id != 0)
                {
                    //Check exist
                    preg_medical_package_test checkExist = dao.GetItemByID(data.medical_service_package_id, data.medical_test_id).FirstOrDefault();
                    if (checkExist != null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, SysConst.DATA_EXIST));
                    }

                    //check medical service package & medical test exist
                    using (PregnancyEntity connect = new PregnancyEntity())
                    {
                        preg_medical_service_package checkMedicalPackageExist = connect.preg_medical_service_package.Where(c => c.id == data.medical_service_package_id).FirstOrDefault();
                        preg_medical_test            checkMedicalTestExist    = connect.preg_medical_test.Where(c => c.id == data.medical_test_id).FirstOrDefault();
                        if (checkMedicalPackageExist == null || checkMedicalTestExist == null)
                        {
                            return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND));
                        }
                    }

                    if (dao.InsertData(data))
                    {
                        return(Request.CreateResponse(HttpStatusCode.Created, SysConst.DATA_INSERT_SUCCESS));
                    }
                    else
                    {
                        HttpError err = new HttpError(SysConst.DATA_EXIST);
                        return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err));
                    }
                }
                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 HttpResponseMessage Delete(string id)
 {
     try
     {
         preg_medical_test item = dao.GetItemByID(Convert.ToInt32(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 Post([FromBody] preg_medical_test data)
 {
     try
     {
         if (!data.DeepEquals(new preg_medical_test()))
         {
             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 HttpResponseMessage Get(string id)
 {
     try
     {
         preg_medical_test data = dao.GetItemByID(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));
     }
 }
        public HttpResponseMessage UpdateData(string id, preg_medical_test dataUpdate)
        {
            try
            {
                if (!dataUpdate.DeepEquals(new preg_medical_test()))
                {
                    preg_medical_test medical_service_package = new preg_medical_test();
                    medical_service_package = dao.GetItemByID(Convert.ToInt32(id)).FirstOrDefault();
                    if (medical_service_package == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND));
                    }
                    if (dataUpdate.title != null)
                    {
                        medical_service_package.title = dataUpdate.title;
                    }
                    if (dataUpdate.type != null)
                    {
                        medical_service_package.type = dataUpdate.type;
                    }
                    if (dataUpdate.price != null)
                    {
                        medical_service_package.price = dataUpdate.price;
                    }

                    dao.UpdateData(medical_service_package);
                    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));
            }
        }
 public void DeleteData(preg_medical_test item)
 {
     connect.preg_medical_test.Remove(item);
     connect.SaveChanges();
 }
 public void UpdateData(preg_medical_test item)
 {
     connect.SaveChanges();
 }
 public void InsertData(preg_medical_test item)
 {
     connect.preg_medical_test.Add(item);
     connect.SaveChanges();
 }
 public HttpResponseMessage Put(string id, [FromBody] preg_medical_test dataUpdate)
 {
     return(UpdateData(id, dataUpdate));
 }