Пример #1
0
        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);
        }
Пример #2
0
        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);                
        }