public ActionResult NewClaim(TenderClaim model, string managerSid) { var manager = new EmployeeSm(managerSid); model.Manager = new Manager() { Id = manager.AdSid, ShortName = manager.DisplayName, SubDivision = manager.DepartmentName }; model.Author = GetUser(); model.RecordDate = DateTime.Now; model.ClaimStatus = 1; model.TenderStatus = 1; var db = new DbEngine(); var success = db.SaveTenderClaim(ref model); if (success) { string message = ""; if (Request.Files.Count > 0) { int idClaim = model.Id; if (idClaim != null && idClaim > 0) { for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; var fileFormats = WebConfigurationManager.AppSettings["FileFormat4TenderClaimFile"].Split(',').Select(s => s.ToLower()).ToArray(); byte[] fileData = null; if (Array.IndexOf(fileFormats, Path.GetExtension(file.FileName).ToLower()) > -1) { using (var br = new BinaryReader(file.InputStream)) { fileData = br.ReadBytes(file.ContentLength); } var claimFile = new TenderClaimFile() { IdClaim = idClaim, File = fileData, FileName = file.FileName }; db.SaveTenderClaimFile(ref claimFile); } else if (file.ContentLength > 0) message += String.Format("Файл {0} имеет недопустимое расширение.", file.FileName); } //} } } TempData["error"] = message; if (success) { //История изменения статуса var statusHistory = new ClaimStatusHistory() { Date = DateTime.Now, IdClaim = model.Id, IdUser = model.Author.Id, Status = new ClaimStatus() { Id = model.ClaimStatus }, Comment = "Автор: " + model.Author.ShortName }; db.SaveClaimStatusHistory(statusHistory); statusHistory.DateString = statusHistory.Date.ToString("dd.MM.yyyy HH:mm"); //>>>>Уведомления if (model.Author.Id != model.Manager.Id) { var host = ConfigurationManager.AppSettings["AppHost"]; var emessage = new StringBuilder(); emessage.Append("Добрый день!"); //message.Append(manager.Name); emessage.Append("<br/>"); emessage.Append("Пользователь "); emessage.Append(model.Author.ShortName); emessage.Append(" создал заявку где Вы назначены менеджером."); emessage.Append("<br/><br />"); emessage.Append(GetClaimInfo(model)); emessage.Append("<br/>"); emessage.Append("Ссылка на заявку: "); emessage.Append("<a href='" + host + "/Claim/Index?claimId=" + model.Id + "'>" + host + "/Claim/Index?claimId=" + model.Id + "</a>"); //message.Append("<br/>Сообщение от системы Спец расчет"); Notification.SendNotification(new List<UserBase>() { manager.GetUserBase(new List<Role>() { Role.Manager }) }, emessage.ToString(), String.Format("{0} - {1} - Новая заявка СпецРасчет", model.TenderNumber, model.Customer)); } } return RedirectToAction("Index", "Claim", new { claimId = model.Id }); } return RedirectToAction("NewClaim", "Claim", new { errorMessage = "при сохранении возникла ошибка" }); }
public ActionResult NewClaim(string errorMessage) { var user = new EmployeeSm(GetUser().Id); ViewBag.UserName = user.FullName; TempData["userSid"] = user.AdSid; TempData["errorMessage"] = errorMessage; TempData["department"] = user.DepartmentName; return View(); }