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")); } }
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); }
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)); }