public ActionResult CreateFromRoutes(List <EmployeeAutoRouteInfo> routes, string postId) { DateTime date = DateTime.Now; foreach (var item in routes) { if (item.Mailers.Count() == 0) { continue; } var documentCod = postId + date.ToString("ddMMyyyy"); // var findDocument = db.MM_MailerDelivery.Where(p => p.DocumentCode == documentCod && p.EmployeeID == item.EmployeeID).FirstOrDefault(); var findEmployee = db.BS_Employees.Find(item.EmployeeID); if (findDocument == null) { findDocument = new MM_MailerDelivery() { DocumentID = Guid.NewGuid().ToString(), DocumentCode = documentCod, CreateDate = date, DocumentDate = date, EmployeeID = item.EmployeeID, LastEditDate = DateTime.Now, Notes = "", NumberPlate = "", Quantity = 0, StatusID = 0, Weight = 0, PostID = postId }; db.MM_MailerDelivery.Add(findDocument); db.SaveChanges(); } // add to detail foreach (var mailer in item.Mailers) { var checkMailer = db.MM_Mailers.Where(p => p.MailerID == mailer.MailerID && (p.CurrentStatusID == 2 || p.CurrentStatusID == 6 || p.CurrentStatusID == 5)).FirstOrDefault(); if (checkMailer != null) { if (checkMailer.CurrentStatusID == 6 || checkMailer.CurrentStatusID == 5) { if (checkMailer.IsPostAccept == false) { continue; } } // dang phat var check = db.MM_MailerDeliveryDetail.Where(p => p.MailerID == mailer.MailerID && p.DocumentID == findDocument.DocumentID && p.DeliveryStatus == 3).FirstOrDefault(); if (check != null) { continue; } var insData = new MM_MailerDeliveryDetail() { Id = Guid.NewGuid().ToString(), DocumentID = findDocument.DocumentID, MailerID = checkMailer.MailerID, CreationDate = DateTime.Now, DeliveryStatus = 3, }; db.MM_MailerDeliveryDetail.Add(insData); checkMailer.CurrentStatusID = 3; checkMailer.LastUpdateDate = DateTime.Now; checkMailer.IsPostAccept = false; db.Entry(checkMailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); HandleHistory.AddTracking(3, checkMailer.MailerID, checkMailer.CurrentPostOfficeID, "Nhân viên " + findEmployee.EmployeeName + "(" + findEmployee.Phone + ") , đang đi phát hàng"); } } MailerHandle.SendNotifi("Phát hàng", "Có đơn phát mới phát", findEmployee.UserLogin); } return(Json(new { }, JsonRequestBehavior.AllowGet)); }
public ActionResult CreateFromRoutes(List <EmployeeAutoRouteInfo> routes, string postId) { DateTime date = DateTime.Now; foreach (var item in routes) { if (item.Mailers.Count() == 0) { continue; } var documentCod = postId + date.ToString("ddMMyyyy"); // var findDocument = db.MM_MailerDelivery.Where(p => p.DocumentCode == documentCod && p.EmployeeID == item.EmployeeID).FirstOrDefault(); if (findDocument == null) { findDocument = new MM_MailerDelivery() { DocumentID = Guid.NewGuid().ToString(), DocumentCode = documentCod, CreateDate = date, DocumentDate = date, EmployeeID = item.EmployeeID, LastEditDate = DateTime.Now, Notes = "", NumberPlate = "", Quantity = 0, StatusID = 0, Weight = 0, PostID = postId }; db.MM_MailerDelivery.Add(findDocument); db.SaveChanges(); } // add to detail foreach (var mailer in item.Mailers) { var checkMailer = db.MM_Mailers.Where(p => p.MailerID == mailer.MailerID && (p.CurrentStatusID == 2 || p.CurrentStatusID == 6 || p.CurrentStatusID == 5)).FirstOrDefault(); if (checkMailer != null) { // dang phat var check = db.MM_MailerDeliveryDetail.Where(p => p.MailerID == mailer.MailerID && p.DocumentID == findDocument.DocumentID && p.DeliveryStatus == 3).FirstOrDefault(); if (check != null) { continue; } var insData = new MM_MailerDeliveryDetail() { Id = Guid.NewGuid().ToString(), DocumentID = findDocument.DocumentID, MailerID = checkMailer.MailerID, CreationDate = DateTime.Now, DeliveryStatus = 3, }; db.MM_MailerDeliveryDetail.Add(insData); checkMailer.CurrentStatusID = 3; checkMailer.LastUpdateDate = DateTime.Now; db.Entry(checkMailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } } return(Json(new { }, JsonRequestBehavior.AllowGet)); }
public ActionResult AddMailer(string mailerId, string documentId) { var mailer = db.MM_Mailers.Find(mailerId); if (mailer == null) { return(Json(new ResultInfo() { error = 1, msg = "Sai thông tin" }, JsonRequestBehavior.AllowGet)); } if (mailer.CurrentStatusID != 2 && mailer.CurrentStatusID != 6 && mailer.CurrentStatusID != 5) { return(Json(new ResultInfo() { error = 1, msg = "Mã hàng không thể phân phát" }, JsonRequestBehavior.AllowGet)); } if (mailer.CurrentStatusID == 6 || mailer.CurrentStatusID == 5) { if (mailer.IsPostAccept == false) { return(Json(new ResultInfo() { error = 1, msg = "Mã hàng không thể phân phát vì bưu cục chưa xác nhận nhận hàng" }, JsonRequestBehavior.AllowGet)); } } var delivery = db.MM_MailerDelivery.Find(documentId); if (delivery == null || (delivery.DocumentDate.Value.ToString("ddMMyyyy") != DateTime.Now.ToString("ddMMyyyy"))) { return(Json(new ResultInfo() { error = 1, msg = "Không thể phân phát" }, JsonRequestBehavior.AllowGet)); } try { // dang phat var check = db.MM_MailerDeliveryDetail.Where(p => p.MailerID == mailerId && p.DocumentID == documentId && p.DeliveryStatus == 3).FirstOrDefault(); if (check != null) { throw new Exception("Không thể phân phát"); } var insData = new MM_MailerDeliveryDetail() { Id = Guid.NewGuid().ToString(), DocumentID = documentId, MailerID = mailerId, CreationDate = DateTime.Now, DeliveryStatus = 3 }; db.MM_MailerDeliveryDetail.Add(insData); db.SaveChanges(); mailer.CurrentStatusID = 3; mailer.IsPostAccept = false; mailer.LastUpdateDate = DateTime.Now; db.Entry(mailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); // luu tracking var employee = db.BS_Employees.Where(p => p.EmployeeID == delivery.EmployeeID).FirstOrDefault(); HandleHistory.AddTracking(3, mailerId, mailer.CurrentPostOfficeID, "Nhân viên " + employee.EmployeeName + "(" + employee.Phone + ") , đang đi phát hàng"); var data = db.MAILERDELIVERY_GETMAILER_BY_ID(insData.Id).FirstOrDefault(); MailerHandle.SendNotifi("Phát hàng", "Có 1 đơn phát hàng mới: " + mailer.MailerID, employee.UserLogin); return(Json(new ResultInfo() { error = 0, msg = "", data = data }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new ResultInfo() { error = 1, msg = "Lỗi cập nhật" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult AddListMailer(List <string> mailers, string documentId) { var delivery = db.MM_MailerDelivery.Find(documentId); var employee = db.BS_Employees.Where(p => p.EmployeeID == delivery.EmployeeID).FirstOrDefault(); if (delivery == null || (delivery.DocumentDate.Value.ToString("ddMMyyyy") != DateTime.Now.ToString("ddMMyyyy"))) { return(Json(new ResultInfo() { error = 1, msg = "Không thể phân phát" }, JsonRequestBehavior.AllowGet)); } foreach (var item in mailers) { var mailer = db.MM_Mailers.Find(item); if (mailer == null) { continue; } if (mailer.CurrentStatusID != 2 && mailer.CurrentStatusID != 6 && mailer.CurrentStatusID != 5) { continue; } // dang phat var check = db.MM_MailerDeliveryDetail.Where(p => p.MailerID == item && p.DocumentID == documentId && p.DeliveryStatus == 3).FirstOrDefault(); if (check != null) { throw new Exception("Không thể phân phát"); } var insData = new MM_MailerDeliveryDetail() { Id = Guid.NewGuid().ToString(), DocumentID = documentId, MailerID = item, CreationDate = DateTime.Now, DeliveryStatus = 3, }; db.MM_MailerDeliveryDetail.Add(insData); db.SaveChanges(); mailer.CurrentStatusID = 3; mailer.LastUpdateDate = DateTime.Now; db.Entry(mailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); HandleHistory.AddTracking(3, item, mailer.CurrentPostOfficeID, "Nhân viên " + employee.EmployeeName + "(" + employee.Phone + ") , đang đi phát hàng"); } return(Json(new ResultInfo() { error = 0, msg = "" }, JsonRequestBehavior.AllowGet)); }