Пример #1
0
 public HttpResponseMessage Login(Attendants login)
 {
     ModelState.Remove("PasswordSalt");
     ModelState.Remove("Name");
     ModelState.Remove("Salary");
     ModelState.Remove("Account");
     ModelState.Remove("Service");
     ModelState.Remove("File");
     ModelState.Remove("ServiceTime");
     ModelState.Remove("Experience");
     ModelState.Remove("Status");
     if (ModelState.IsValid)
     {
         using (db)
         {
             Attendants memberAccount = db.Attendants.FirstOrDefault(x => x.Email == login.Email);
             if (memberAccount == null)
             {
                 return(Request.CreateResponse(HttpStatusCode.OK, new { message = "無此帳號" }));
             }
             else
             {
                 string     psw     = Utility.GenerateHashWithSalt(login.Password, memberAccount.PasswordSalt);
                 Attendants memeber = db.Attendants.FirstOrDefault(x => x.Email == memberAccount.Email && x.Password == psw);
                 if (memeber == null)
                 {
                     return(Request.CreateResponse(HttpStatusCode.OK, new { message = "密碼錯誤" }));
                 }
                 else
                 {
                     string newToken = new Token().GenerateToken(memeber.Id, login.Email, "a");
                     return(Request.CreateResponse(HttpStatusCode.OK, new
                     {
                         message = "登入成功",
                         memeber.Id,
                         login.Email,
                         memeber.Photo,
                         memeber.File,
                         token = newToken
                     }));
                 }
             }
         }
     }
     else
     {
         return(Request.CreateResponse(HttpStatusCode.OK, new { message = "帳密格式不符" }));
     }
 }
Пример #2
0
        /// <summary>
        /// Try to add a new buyer into this room
        /// </summary>
        /// <param name="buyer">The new attendant and potential buyer</param>
        /// <returns></returns>
        public bool TryEnterAsAttendant(Buyer buyer)
        {
            var fiscal = new RoomCanReceiveAttendantValidation();
            var result = fiscal.Valid(this);

            if (!result.IsValid)
            {
                ValidationErrors = result.Errors;
                return(false);
            }

            Attendants.Add(buyer);

            return(true);
        }
Пример #3
0
        public HttpResponseMessage AttendantRegister(MemberView password)
        {
            Attendants attendants = db.Attendants.Find(password.Id);

            if (password.Password.Length < 6)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, new { result = "密碼長度不符" }));
            }
            attendants.PasswordSalt    = Utility.CreateSalt();
            attendants.Password        = Utility.GenerateHashWithSalt(password.Password, attendants.PasswordSalt);
            db.Entry(attendants).State = EntityState.Modified;
            db.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, new { result = "密碼修改成功" }));
        }
Пример #4
0
        public void addAttendants(Attendants a)
        {
            string        query = "INSERT INTO ScrumAttendants (eventID, userID) VALUES (@eventID, @userID)";
            SqlConnection con   = dbc.GetConnection();
            SqlCommand    cmd   = new SqlCommand(query, con);

            cmd.Parameters.AddWithValue("@eventID", a.eventID);
            cmd.Parameters.AddWithValue("@userID", a.userID);

            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Пример #5
0
        public HttpResponseMessage PostOrders(Orders orders)
        {
            ModelState.Remove("Status");
            DateTime startDate = (DateTime)orders.StartDate;
            DateTime endDate   = (DateTime)orders.EndDate.AddDays(1);
            TimeSpan tsDate    = endDate - startDate;

            Attendants attendants = db.Attendants.Find(orders.AttendantId);

            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, ModelState));
            }
            orders.Total = Convert.ToInt32(tsDate.Days) * attendants.Salary;

            orders.InitDate = DateTime.Now;
            orders.Status   = OrderType.等待照服員確認訂單;
            db.Orders.Add(orders);
            db.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, new { result = "訂單成立" }));
        }
Пример #6
0
        //[JwtAuthFilter]
        public IHttpActionResult AttendantDetails(int Id)
        {
            //string token = Request.Headers.Authorization.Parameter;
            //Token jwtAuthUtil = new Token();
            //TokenPayload tokenPayload= jwtAuthUtil.GetToken(token);
            //if (tokenPayload.Identity!="a"|| tokenPayload.ID != Id )
            //{
            //    return Ok(new
            //    {
            //        message = "非法操作"
            //    });
            //}

            List <Cities>    cities      = db.Cities.ToList();
            List <Locations> locationses = db.Locations.ToList();

            Attendants attendant = db.Attendants.Include(x => x.Locationses).Where(x => x.Id == Id).FirstOrDefault();


            if (attendant.Locationses.Count == 0)
            {
                return(Ok(new
                {
                    attendant,
                    city = "未選擇城市",
                    location = "未指定地區",
                    cities,
                }));
            }

            else
            {
                return(Ok(new
                {
                    attendant,
                    cities,
                }));
            }
        }
Пример #7
0
        public IHttpActionResult QuizReply(QuestionAnswer questionAnswer)
        {
            if (string.IsNullOrWhiteSpace(questionAnswer.Answer))
            {
                return(Ok(new
                {
                    message = "回覆沒填喔"
                }));
            }

            Question question = db.Questions.FirstOrDefault(x => x.Id == questionAnswer.QuestionId);

            Attendants attendant = db.Attendants.FirstOrDefault(x => x.Id == question.AttendantId);

            questionAnswer.Attendant = attendant.Name;
            questionAnswer.ReplyTime = DateTime.Now;
            db.QuestionAnswers.Add(questionAnswer);
            db.SaveChanges();
            return(Ok(new
            {
                message = "已回覆"
            }));
        }
Пример #8
0
        public IHttpActionResult NewAttendantDetails()
        {
            var        formdata    = HttpContext.Current.Request;
            int        AttendantID = Convert.ToInt32(formdata["Id"]);
            Attendants attendant   = db.Attendants.Include(x => x.Locationses).Where(x => x.Id == AttendantID).FirstOrDefault();

            if (!formdata["Location"].IsNullOrWhiteSpace())
            {
                string[] formlocation    = formdata["Location"].Split(',');
                int[]    formlocationInt = new int[formlocation.Length];
                for (int i = 0; i < formlocation.Length; i++)
                {
                    formlocationInt[i] = Convert.ToInt32(formlocation[i]);
                }

                var NewLocationses = db.Locations.Where(x => formlocationInt.Contains(x.Id)).ToList();//搜尋 同SQL IN

                attendant.Locationses = NewLocationses;
            }
            else
            {
                return(Ok(new { message = "未選擇地區" }));
            }

            if (formdata.Files["Photo"] != null)
            {
                string   photo         = "";
                string   fileExtension = Path.GetExtension(formdata.Files["Photo"].FileName).ToLower();
                string[] Extension     = { ".jpeg", ".jpg", ".png", ".gif", };
                bool     photoOK       = false;
                for (int i = 0; i < Extension.Length; i++)
                {
                    if (fileExtension == Extension[i])
                    {
                        photoOK = true;
                        break;
                    }
                }

                if (photoOK)
                {
                    if (attendant.Photo != null)
                    {
                        string oldpath = Path.Combine(HostingEnvironment.ApplicationPhysicalPath + "Uploads", attendant.Photo);
                        File.Delete(oldpath);
                    }
                    photo = AttendantID + "_p_" + DateTime.Now.ToString("yyyyMMddHHmm") + fileExtension;
                    string path = Path.Combine(HostingEnvironment.ApplicationPhysicalPath + "Uploads", photo);
                    formdata.Files["Photo"].SaveAs(path);
                    attendant.Photo = photo;
                }
                else
                {
                    return(Ok(new { message = "相片檔案格式不符" }));
                }
            }
            else
            {
                if (attendant.Photo == null)
                {
                    return(Ok(new { message = "未上傳照片" }));
                }
            }

            if (formdata.Files["File"] != null)
            {
                string   file          = "";
                string   fileExtension = Path.GetExtension(formdata.Files["File"].FileName).ToLower();
                string[] Extension     = { ".jpeg", ".jpg", ".pdf" };
                bool     fileOK        = false;
                for (int i = 0; i < Extension.Length; i++)
                {
                    if (fileExtension == Extension[i])
                    {
                        fileOK = true;
                        break;
                    }
                }

                if (fileOK)
                {
                    if (attendant.File != null)
                    {
                        string oldpath = Path.Combine(HostingEnvironment.ApplicationPhysicalPath + "Uploads", attendant.File);
                        File.Delete(oldpath);
                    }
                    file = AttendantID + "_f_" + DateTime.Now.ToString("yyyyMMddHHmm") + fileExtension;
                    string path = Path.Combine(HostingEnvironment.ApplicationPhysicalPath + "Uploads", file);
                    formdata.Files["File"].SaveAs(path);
                    attendant.File = file;
                }
                else
                {
                    return(Ok(new { message = "證照檔案格式不符" }));
                }
            }
            else
            {
                if (attendant.File == null)
                {
                    return(Ok(new { message = "未上傳證照" }));
                }
            }

            if (formdata["Name"] != null)
            {
                attendant.Name = formdata["Name"];
            }
            else
            {
                return(Ok(new { message = "未填姓名" }));
            }

            if (formdata["Salary"] != null)
            {
                attendant.Salary = Convert.ToInt32(formdata["Salary"]);
            }
            else
            {
                return(Ok(new { message = "未填薪水" }));
            }

            if (formdata["Account"] != null)
            {
                attendant.Account = formdata["Account"];
            }
            else
            {
                return(Ok(new { message = "未填戶頭" }));
            }

            if (formdata["Service"] != null)
            {
                attendant.Service = formdata["Service"];
            }
            else
            {
                return(Ok(new { message = "未選擇能提供的服務項目" }));
            }

            if (formdata["ServiceTime"] != null)
            {
                int serviceTime = Convert.ToInt32(formdata["ServiceTime"]);
                attendant.ServiceTime = (ServiceTime)serviceTime;
            }
            else
            {
                return(Ok(new { message = "未選擇服務時段" }));
            }

            if (formdata["Experience"] != null)
            {
                attendant.Experience = formdata["Experience"];
            }
            else
            {
                return(Ok(new { message = "未填寫履歷" }));
            }

            int status = Convert.ToInt32(formdata["Status"]);

            attendant.Status = (Whether)status;

            attendant.EditDate = DateTime.Now;
            db.SaveChanges();
            return(Ok(new { message = "更新資料成功" }));
        }
Пример #9
0
 // POST api/UserAttendance
 public void Post([FromBody] Attendants a)
 {
     dbatt.addAttendants(a);
 }