public ActionResult EditEmp(DailyEmployee emp)
        {
            var  dao = new DailyListDao();
            long id  = dao.UpdateEmp(emp);

            SetViewEmp();
            if (id > 0)
            {
                SetAlert("Sửa thông tin bảng kê thành công", "success");
                return(RedirectToAction("Payment/" + emp.Order_ID, "DailyList"));
            }
            else
            {
                SetAlert("Error!", "error");
                return(RedirectToAction("Index", "DailyList"));
            }
        }
Exemple #2
0
        public long UpdateEmp(DailyEmployee entity)
        {
            var order     = db.OrderDetails.Find(entity.Order_ID);
            var emp       = db.DailyEmployees.Find(entity.Order_ID, entity.Employee_ID);
            var employee  = db.Employees.Find(entity.Employee_ID);
            var dep       = db.Departments.Find(employee.Department.ID);
            var dailyList = db.DailyLists.Find(order.DailyList_ID);
            var room      = db.Rooms.Find(order.Room_ID);

            if (entity.Employee_ID != emp.Employee_ID)
            {
                employee.OnAir = false;
                db.SaveChanges();
                emp.Employee_ID = entity.Employee_ID;
                employee.OnAir  = true;
                db.SaveChanges();
            }
            else
            {
                emp.Employee_ID = entity.Employee_ID;
            }
            if (entity.Tip > 0)
            {
                emp.Tip        = entity.Tip;
                employee.OnAir = false;
                room.Status    = true;
                db.SaveChanges();
            }
            else
            {
                emp.Tip = entity.Tip;
            }
            emp.Tour = dep.Tour;

            dailyList.Total = order.Amount + emp.Tour;
            db.SaveChanges();
            return(entity.Order_ID);
        }
Exemple #3
0
        public long UpdateOrder(OrderDetail entity, string username)
        {
            var order     = db.OrderDetails.Find(entity.ID);
            var dailyList = db.DailyLists.Find(order.DailyList_ID);

            if (entity.Room_ID != order.Room_ID)
            {
                order.Room.Status = true;
                db.SaveChanges();
                order.Room_ID     = entity.Room_ID;
                order.Room.Status = false;
                db.SaveChanges();
            }
            else
            {
                order.Room_ID = entity.Room_ID;
            }
            if (order.empId != string.Join(",", entity.SelectedIDArray))
            {
                string[] arrListStr = order.empId.Split(',');
                for (int i = 0; i < arrListStr.Length; i++)
                {
                    int a             = Int32.Parse(arrListStr[i]);
                    var dailyEmployee = db.DailyEmployees.Find(entity.ID, a);
                    var e             = db.Employees.Find(a);
                    e.OnAir = false;
                    db.SaveChanges();
                    db.DailyEmployees.Remove(dailyEmployee);
                    db.SaveChanges();
                }


                order.empId = string.Join(",", entity.SelectedIDArray);

                string[]      arrEmpId = string.Join(",", entity.SelectedIDArray).Split(',');
                List <string> emplist  = new List <string>();

                foreach (var temp in arrEmpId)
                {
                    int id = Convert.ToInt32(temp);
                    var e  = db.Employees.Find(id);
                    e.OnAir = true;
                    db.SaveChanges();
                    emplist.Add(e.Code);
                }

                order.Employee_ID = string.Join(",", emplist);

                foreach (var temp in entity.SelectedIDArray)
                {
                    DailyEmployee emp = new DailyEmployee();
                    emp.Order_ID    = entity.ID;
                    emp.Employee_ID = long.Parse(temp);
                    emp.Date        = DateTime.Now.Date;
                    emp.Clean       = 0;
                    emp.Tour        = 0;
                    emp.Tour        = 0;
                    db.DailyEmployees.Add(emp);
                    db.SaveChanges();
                }
            }

            var ticket = db.Tickets.Find(entity.Ticket_ID);

            if (entity.Ticket_ID != order.Ticket_ID)
            {
                order.Ticket_ID = entity.Ticket_ID;
                order.TimeIn    = order.TimeIn;
                order.TimeOut   = order.TimeIn.AddMinutes(ticket.TimeTotal);

                if (dailyList.Voucher_ID == 0)
                {
                    order.Amount = ticket.Price;
                }
                else
                {
                    order.Amount = ticket.Price * (1 - dailyList.Voucher.DiscountPercent / 100);
                }

                dailyList.Total = db.OrderDetails.Where(x => x.DailyList_ID == order.DailyList_ID).Sum(x => x.Amount);
            }

            dailyList.ModifiedBy   = username;
            dailyList.ModifiedDate = DateTime.Now;
            db.SaveChanges();
            return(entity.ID);
        }
        public ActionResult SaveOrder(
            long Voucher_ID, string Request, string Description,
            string Code, string Name, int NumberOfCustomers, decimal Price, string Phone, string Taxi_Description,
            OrderDetail[] order)
        {
            string    result  = "Error! Order Is Not Complete!";
            var       session = (UserLogin)Session[CommonConstants.USER_SESSION];
            DailyList model   = new DailyList();

            model.Status = true;
            foreach (var item in order)
            {
                if (item.Room_ID == 0 || item.Ticket_ID == 0)
                {
                    SetAlert("Lỗi khi tạo phòng và vé", "error");
                    return(RedirectToAction("Index"));
                }
            }
            if (Voucher_ID != 0)
            {
                model.Status = false;
            }
            model.Voucher_ID = Voucher_ID;
            var voucher = db.Vouchers.Find(Voucher_ID);

            if (Voucher_ID != 0 && Voucher_ID >= 100)
            {
                voucher.Status = false;
                db.SaveChanges();
            }
            model.Request          = Request;
            model.Description      = Description;
            model.PricewithVoucher = 0;
            model.Total            = 0;

            if (Price != 0)
            {
                model.Status = false;
                Taxi taxi = new Taxi();
                taxi.Code = Code;
                taxi.Name = Name;
                taxi.NumberOfCustomers = NumberOfCustomers;
                taxi.Price             = Price;
                taxi.Phone             = Phone;
                taxi.Description       = Taxi_Description;
                db.Taxis.Add(taxi);
                db.SaveChanges();

                model.Taxi_ID = taxi.ID;
            }

            model.Department_ID = session.DepartmentID;
            model.CreatedDate   = DateTime.Now;
            model.CreatedBy     = session.UserName;
            db.DailyLists.Add(model);
            db.SaveChanges();

            foreach (var item in order)
            {
                OrderDetail O = new OrderDetail();
                O.Room_ID = item.Room_ID;
                var room = db.Rooms.Find(O.Room_ID);
                room.Status = false;
                db.SaveChanges();
                O.Ticket_ID = item.Ticket_ID;
                var      ticket = db.Tickets.Find(item.Ticket_ID);
                DateTime dt     = DateTime.Today;
                string   date   = dt.ToString("yyyy-MM-dd");
                if (db.OrderDetails.Where(x => DbFunctions.TruncateTime(x.TimeIn) == dt).Count() == 0)
                {
                    O.No = date.Replace("-", "") + "-" + session.DepartmentID.ToString()
                           + 1.ToString("D3");
                }
                else
                {
                    string Str = null;
                    foreach (var temp in db.OrderDetails.Where(x => DbFunctions.TruncateTime(x.TimeIn) == dt).OrderByDescending(x => x.ID).Take(1))
                    {
                        Str = temp.No;
                    }
                    string Str1 = Str.Substring(11);
                    O.No = date.Replace("-", "") + "-" + session.DepartmentID.ToString()
                           + (Int32.Parse(Str1) + 1).ToString("D3");
                }

                string[] arrEmpId = string.Join(",", item.SelectedIDArray).Replace(" ", "").Split(',');
                O.empId = string.Join(",", item.SelectedIDArray);

                List <string> emplist = new List <string>();

                foreach (var temp in arrEmpId)
                {
                    int id = Convert.ToInt32(temp);
                    var e  = db.Employees.Find(id);
                    e.OnAir = true;
                    db.SaveChanges();
                    emplist.Add(e.Code);
                }

                O.Employee_ID = string.Join(",", emplist).Replace(" ", "");

                if (model.Voucher_ID == 0)
                {
                    O.Amount = ticket.Price;
                }
                else
                {
                    O.Amount = ticket.Price * (1 - voucher.DiscountPercent / 100);
                }
                O.TimeIn               = DateTime.Now;
                O.TimeOut              = DateTime.Now.AddMinutes(ticket.TimeTotal);
                O.DailyList_ID         = model.ID;
                model.PricewithVoucher = model.PricewithVoucher + O.Amount;
                db.OrderDetails.Add(O);
                db.SaveChanges();
                foreach (var temp in arrEmpId)
                {
                    DailyEmployee emp = new DailyEmployee();
                    emp.Order_ID    = O.ID;
                    emp.Employee_ID = long.Parse(temp);
                    emp.Date        = DateTime.Now.Date;
                    emp.Clean       = 0;
                    emp.Tour        = 0;
                    emp.Tour        = 0;
                    db.DailyEmployees.Add(emp);
                    db.SaveChanges();
                }
            }
            model.Total = model.PricewithVoucher;
            db.SaveChanges();
            result = "Success! Order Is Complete!";

            return(Json(result, JsonRequestBehavior.AllowGet));
        }