示例#1
0
 public JsonResult EditInformationBlock(CreateEditInformationBlockModel model)
 {
     try
     {
         InformationBlock informationBlock =
             DatabaseContext.InformationBlocks.FirstOrDefault(b => b.Id == model.Id.Value);
         if (informationBlock == null)
         {
             throw new ArgumentException("Выбранной новости не найдено");
         }
         informationBlock.Title = model.Title;
         informationBlock.Body  = model.Body;
         IEnumerable <int> ids  = model.TagsIds.Select(t => Convert.ToInt32(t));
         IEnumerable <Tag> tags = ids.Select(tagId =>
                                             DatabaseContext.Tags.FirstOrDefault(t => t.Id == tagId));
         List <TagInformationBlock> tagInformationBlocks = tags.Select(t =>
         {
             return(new TagInformationBlock()
             {
                 Tag = t,
                 InformationBlock = informationBlock
             });
         }).ToList();
         informationBlock.TagInformationBlocks = tagInformationBlocks;
         DatabaseContext.SaveChanges();
         if (model.Files != null)
         {
             string        rootDirectory = Server.MapPath("~\\Files");
             string        currentInformationBlockDirectory = "\\InformationBlock_" + informationBlock.Id;
             string        informationBlockDirectoryName    = rootDirectory + currentInformationBlockDirectory;
             DirectoryInfo directory = new DirectoryInfo(informationBlockDirectoryName);
             if (!directory.Exists)
             {
                 directory.Create();
                 informationBlock.File = currentInformationBlockDirectory;
                 DatabaseContext.SaveChanges();
             }
             else
             {
                 foreach (var file in directory.GetFiles())
                 {
                     file.Delete();
                 }
             }
             foreach (var file in model.Files)
             {
                 string fileName = Path.GetFileName(file.FileName);
                 file.SaveAs(directory.FullName + "\\" + fileName);
             }
         }
         return(Json(new { result = true }));
     }
     catch (Exception e)
     {
         Logger.Error(e.Message);
         return(Json(new { result = false }));
     }
 }
示例#2
0
        public JsonResult CreateInformationBlock(CreateEditInformationBlockModel model)
        {
            try
            {
                InformationBlock informationBlock = new InformationBlock()
                {
                    Title    = model.Title,
                    Body     = model.Body,
                    Date     = DateTime.UtcNow,
                    Employee = (CurrentUser as Employee)
                };
                DatabaseContext.InformationBlocks.Add(informationBlock);
                DatabaseContext.SaveChanges();
                IEnumerable <int> ids  = model.TagsIds.Select(t => Convert.ToInt32(t));
                IEnumerable <Tag> tags = ids.Select(tagId =>
                                                    DatabaseContext.Tags.FirstOrDefault(t => t.Id == tagId));
                List <TagInformationBlock> tagInformationBlocks = tags.Select(t =>
                {
                    return(new TagInformationBlock()
                    {
                        Tag = t,
                        InformationBlock = informationBlock
                    });
                }).ToList();
                informationBlock.TagInformationBlocks = tagInformationBlocks;
                DatabaseContext.SaveChanges();
                if (model.Files != null)
                {
                    string        rootDirectory = Server.MapPath("~\\Files");
                    string        currentInformationBlockDirectory = "\\InformationBlock_" + informationBlock.Id;
                    string        informationBlockDirectoryName    = rootDirectory + currentInformationBlockDirectory;
                    DirectoryInfo directory = new DirectoryInfo(informationBlockDirectoryName);
                    if (!directory.Exists)
                    {
                        directory.Create();
                        informationBlock.File = currentInformationBlockDirectory;
                    }

                    foreach (var file in model.Files)
                    {
                        string fileName = Path.GetFileName(file.FileName);
                        file.SaveAs(directory.FullName + "\\" + fileName);
                    }
                }
                return(Json(new { result = true }));
            }
            catch (Exception e)
            {
                Logger.Error(e.Message);
                return(Json(new { result = false }));
            }
        }