コード例 #1
0
        public JsonResult Reserve(ReservationOffline app)
        {
            string   dateTime = app.date + "T" + app.time;
            DateTime dt       = Convert.ToDateTime(dateTime);

            if (dt < DateTime.Now)
            {
                return(Json(new { result = 0 }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                var zaft      = int.Parse(Session["userid"].ToString());
                var reqs      = db.Emp_Org_Services.Where(c => c.emp_id == zaft).ToList();
                var branch_id = reqs[0].branch_id;
                var user      = new user {
                    name = app.name, phone = app.phone
                };
                db.user.Add(user);
                db.SaveChanges();

                var appointment = new Appointments_
                {
                    time       = dt,
                    user_id    = user.id,
                    service_id = app.service_id,
                    branch_id  = branch_id
                };
                db.Appointments_.Add(appointment);
                db.SaveChanges();
                return(Json(new { result = 1 }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
        public ActionResult CheckAttend(Attendence att)
        {
            var           user = db.user.SingleOrDefault(c => c.id == att.user_id);
            Appointments_ app  = db.Appointments_.SingleOrDefault(c => c.id == att.app_id);

            if (user.count >= 3)
            {
                user.block = true;
                app.state  = "blocked";
            }
            else
            {
                if (att.check.Equals("0"))
                {
                    app.state  = "unatt";
                    user.count = user.count + 1;
                }
                else if (att.check.Equals("1"))
                {
                    app.state = "att";
                }
            }

            db.SaveChanges();

            return(RedirectToAction("CheckAttend"));
        }
コード例 #3
0
        public IHttpActionResult Reserve(int branch_id, int client_id, int service_id, string date, string time)
        {
            var req = db.Request.SingleOrDefault(c => c.branch_id == branch_id && c.user_id == client_id &&
                                                 c.service_id == service_id && c.state == "accepted");
            var             allTimes = GetAvailableTime(branch_id, service_id, date);
            var             dateTime = Convert.ToDateTime(date + "T" + time);
            PocoReservation res      = new PocoReservation();

            if (req == null)
            {
                res.msg = "You must send request before reserve...";
            }
            else if (req.state == "pending")
            {
                res.msg = "Your request is pending...";
            }
            else if (req.state == "rejected")
            {
                res.msg = "Your request is rejected...";
            }
            else if (dateTime < DateTime.Now)
            {
                res.msg = "You can't reserve in old date...";
            }
            else if (allTimes == null)
            {
                res.msg = "No available times in this day...";
            }
            else if (req.state == "finished")
            {
                res.msg = "This reservation already exists...";
            }
            else
            {
                var      timeOfChange  = (DateTime)req.timeOfChange;
                DateTime timeToReserve = timeOfChange.AddDays((double)req.Services_.toFinish);
                if (dateTime < timeToReserve)
                {
                    res.msg = "Please wait to finish your paper , you can reserve after " + timeToReserve.ToString("dd/MM/yyyy") + "...";
                }
                else
                {
                    var appoint = new Appointments_
                    {
                        time       = dateTime,
                        service_id = service_id,
                        user_id    = client_id,
                        branch_id  = branch_id,
                        state      = "pending"
                    };
                    if (ModelState.IsValid)
                    {
                        req.state = "finished";
                        db.Appointments_.Add(appoint);
                        db.SaveChanges();
                        res.msg = "Reservation Done Successfully...";
                    }
                    else
                    {
                        res.msg = "data not valid...";
                    }
                }
            }
            return(Ok(res));
        }