public IHttpActionResult Put(int id, DTO_PRO_DeTai tbl_PRO_DeTai)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tbl_PRO_DeTai.ID)
            {
                return(BadRequest());
            }
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            if (user.StaffID <= 0)
            {
                return(BadRequest("Chưa tạo nhân sự cho tài khoản"));
            }

            DTO_PRO_DeTai result = BS_PRO_DeTai.save_PRO_DeTai(db, PartnerID, id, user.StaffID, tbl_PRO_DeTai, Username);

            if (result != null)
            {
                return(StatusCode(HttpStatusCode.NoContent));
            }
            else
            {
                return(NotFound());
            }
        }
        public IHttpActionResult UpdateStatus(int id, string actionCode, int typeId)
        {
            ApplicationUser user   = UserManager.FindById(User.Identity.GetUserId());
            var             result = BS_PRO_DeTai.updateStatus_PRO_DeTai(db, id, actionCode, typeId, Username);

            if (!string.IsNullOrEmpty(result.Error))
            {
                return(BadRequest(result.Error));
            }

            if (result.ListEmail != null)
            {
                foreach (var item in result.ListEmail)
                {
                    EmailService emailService = new EmailService();
                    emailService.Send(new IdentityMessage()
                    {
                        Subject = item.Subject, Destination = item.Destination, Body = item.Body
                    });
                }
            }

            DTO_PRO_DeTai tbl_PRO_DeTai = BS_PRO_DeTai.get_PRO_DeTaiCustom(db, id, user.StaffID);

            if (tbl_PRO_DeTai == null)
            {
                return(NotFound());
            }
            return(Ok(tbl_PRO_DeTai));
        }
        public IHttpActionResult Get(int id)
        {
            DTO_PRO_DeTai tbl_PRO_DeTai = BS_PRO_DeTai.get_PRO_DeTaiByID(db, PartnerID, id);

            if (tbl_PRO_DeTai == null)
            {
                return(NotFound());
            }

            return(Ok(tbl_PRO_DeTai));
        }
        public IHttpActionResult GetCustom(int id)
        {
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            DTO_PRO_DeTai tbl_PRO_DeTai = BS_PRO_DeTai.get_PRO_DeTaiCustom(db, id, user.StaffID);

            if (tbl_PRO_DeTai == null)
            {
                return(NotFound());
            }

            return(Ok(tbl_PRO_DeTai));
        }
        public IHttpActionResult Post(DTO_PRO_DeTai tbl_PRO_DeTai)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            ApplicationUser user   = UserManager.FindById(User.Identity.GetUserId());
            DTO_PRO_DeTai   result = BS_PRO_DeTai.save_PRO_DeTai(db, PartnerID, -1, user.StaffID, tbl_PRO_DeTai, Username);


            if (result != null)
            {
                return(CreatedAtRoute("get_PRO_DeTai", new { id = result.ID }, result));
            }
            return(Conflict());
        }
        public IHttpActionResult Delete(int id)
        {
            bool check = BS_PRO_DeTai.check_PRO_DeTai_Exists(db, id);

            if (!check)
            {
                return(NotFound());
            }

            bool result = BS_PRO_DeTai.delete_PRO_DeTai(db, id, Username);

            if (result)
            {
                return(StatusCode(HttpStatusCode.NoContent));
            }
            return(Conflict());
        }
        public IHttpActionResult UpdateMaSo(DTO_PRO_DeTai tbl_PRO_DeTai)
        {
            ApplicationUser user   = UserManager.FindById(User.Identity.GetUserId());
            var             result = BS_PRO_DeTai.updateMaSo_PRO_DeTai(db, tbl_PRO_DeTai, Username);

            if (!string.IsNullOrEmpty(result))
            {
                return(BadRequest(result));
            }
            DTO_PRO_DeTai item = BS_PRO_DeTai.get_PRO_DeTaiCustom(db, tbl_PRO_DeTai.ID, user.StaffID);

            if (tbl_PRO_DeTai == null)
            {
                return(NotFound());
            }
            return(Ok(tbl_PRO_DeTai));
        }
        public IQueryable <DTO_PRO_DeTai> GetByRefer()
        {
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            return(BS_PRO_DeTai.get_PRO_DeTaiByRefer(db, PartnerID, user.StaffID, QueryStrings));
        }
 public IHttpActionResult UploadFileChapThuan(DTO_PRO_DeTai item)
 {
     BS_PRO_DeTai.uploadFileChapThuan(db, item.ID, item.FileChapThuan, Username);
     return(Ok());
 }