public void Create(string forAdm, HttpPostedFileBase error) { var uploadText = Request.Params["Text"]; var curId = HttpContext.User.Identity.GetUserId(); // получаем текущего пользователя ApplicationUser user = _db.Users.FirstOrDefault(m => m.Id == curId); ErrorMessage erM; if (user != null) { erM = new ErrorMessage { Author = user, AuthorId = user.Id, CreateDateTime = DateTime.Now, ErrorStatus = 0 }; } else { erM = new ErrorMessage { CreateDateTime = DateTime.Now, ErrorStatus = 0 }; } // если получен файл if (error != null) { erM.Document = _docService.CreateDocument(Server.MapPath("~/Files/ErrorMessageFiles/"), error); } else erM.Document = null; if (uploadText == null) erM.Text = ""; else erM.Text = uploadText; if (forAdm == "1") { erM.ForAdministration = true; var email = Request.Params["email"].ToString(); erM.Email = email; } else erM.ForAdministration = false; // Добавляем заявку с возможно приложенными документами _db.ErrorMessages.Add(erM); user.ErrorMessages.Add(erM); _db.Entry(user).State = EntityState.Modified; _db.SaveChanges(); Response.Redirect(Request.UrlReferrer.AbsoluteUri); }
public void Create(string forAdm, HttpPostedFileBase error) { var uploadText = Request.Params["Text"]; var curId = HttpContext.User.Identity.GetUserId(); // получаем текущего пользователя ApplicationUser user = db.Users.FirstOrDefault(m => m.Id == curId); ErrorMessage erM; if (user != null) { erM= new ErrorMessage { Author = user, AuthorId = user.Id, CreateDate = DateTime.Now, ErrorStatus = 0 }; } else { erM = new ErrorMessage { CreateDate = DateTime.Now, ErrorStatus = 0 }; } // если получен файл if (error != null) { DateTime current = DateTime.Now; Document doc = new Document(); doc.Size = error.ContentLength; // Получаем расширение string ext = error.FileName.Substring(error.FileName.LastIndexOf('.')); doc.Type = ext; // сохраняем файл по определенному пути на сервере string path = current.ToString(user.Id.GetHashCode()+"dd/MM/yyyy H:mm:ss").Replace(":", "_").Replace("/", ".") + ext; error.SaveAs(Server.MapPath("~/Files/ErrorMessageFiles/" + path)); doc.Url = path; erM.Document = doc; db.Documents.Add(doc); } else erM.Document = null; if (uploadText == null) erM.Text = ""; else erM.Text = uploadText; if (forAdm == "1") { erM.ForAdministration = true; var email = Request.Params["email"].ToString(); erM.Email = email; } else erM.ForAdministration = false; //var cat = db.Categories.Find(request.CategoryId); //request.Category = cat; //request.Comment = ""; // Добавляем задачу с возможно приложенными документами db.ErrorMessages.Add(erM); user.ErrorMessages.Add(erM); db.Entry(user).State = EntityState.Modified; db.SaveChanges(); Response.Redirect(Request.UrlReferrer.AbsoluteUri); }