Ejemplo n.º 1
0
        public IActionResult Add(SavePublicationStringVM savePublicationString)
        {
            SavePublicationVM savePublication = new SavePublicationVM
            {
                Id                  = savePublicationString.publicationId,
                TemplateId          = savePublicationString.TemplateId,
                Title               = savePublicationString.Title,
                BranchesOfKnowledge = Newtonsoft.Json.JsonConvert.DeserializeObject <List <BranchOfKnowledge> >(savePublicationString.BranchesOfKnowledge),
                Authors             = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Author> >(savePublicationString.Authors),
                FieldsValue         = Newtonsoft.Json.JsonConvert.DeserializeObject <List <FieldValueVM> >(savePublicationString.FieldsValue)
            }; //TODO move mapping to service (or not move :D)

            foreach (var file in Request.Form.Files)
            {
                if (file.Length > 0)
                {
                    string         path           = @"PublicationsFiles\" + Guid.NewGuid();
                    string         name           = file.FileName;
                    FileProperties fileProperties = new FileProperties()
                    {
                        FilePath = path, FileName = name
                    };
                    if (!Directory.Exists("PublicationsFiles"))
                    {
                        Directory.CreateDirectory("PublicationsFiles");
                    }
                    using (FileStream fs = System.IO.File.Create(path))
                    {
                        file.CopyTo(fs);
                    }
                    FieldValueVM fieldValue = new FieldValueVM()
                    {
                        FieldType = FieldType.File, Name = file.Name, Value = Newtonsoft.Json.JsonConvert.SerializeObject(fileProperties), isChecked = false
                    };
                    savePublication.FieldsValue.Add(fieldValue);
                }
            }
            bool isDone;

            if (savePublication.Id == 0)
            {
                isDone = publicationService.AddPublication(savePublication);
            }
            else
            {
                isDone = publicationService.EditPublication(savePublication);
            }
            if (isDone)
            {
                return(Json(new { success = true, message = "Zapisano pomyślnie!" }));
            }
            else
            {
                return(Json(new { success = false, message = "Wystąpił błąd w zapisie!" }));
            }
        }
Ejemplo n.º 2
0
        public IActionResult EditPublication(int?publicationId)
        {
            SavePublicationVM sp = publicationService.GetSavePublicationVMById(publicationId);

            if (sp != null)
            {
                sp.isExist = true;
                return(View("AddPublication", sp));
            }
            else
            {
                return(Json("publication: notexist"));
            }
        }
Ejemplo n.º 3
0
 public bool AddPublication(SavePublicationVM savePublication)
 {
     try
     {
         Publication pub = new Publication()
         {
             CreationDate = DateTime.Now, Title = savePublication.Title, TemplateId = savePublication.TemplateId
         };
         List <FieldValue> filedsValue = new List <FieldValue>();
         foreach (FieldValueVM item in savePublication.FieldsValue)
         {
             PublicationField publicationField = findFieldByName(item.Name);
             db.FieldValues.Add(new FieldValue()
             {
                 Publication = pub, Value = item.FieldType != FieldType.Boolean?item.Value:item.isChecked.ToString(), PublicationField = publicationField
             });
         }
         db.Publications.Add(pub);
         foreach (var item in savePublication.Authors)
         {
             if (!IsAuthorExist(item))
             {
                 db.Authors.Add(item);
                 db.AuthorPublications.Add(new AuthorPublication()
                 {
                     Author = item, Publication = pub
                 });
             }
             else
             {
                 db.AuthorPublications.Add(new AuthorPublication()
                 {
                     Author = GetTheSameAuthor(item), Publication = pub
                 });
             }
         }
         foreach (var item in savePublication.BranchesOfKnowledge)
         {
             if (!IsBranchExist(item))
             {
                 db.BranchOfKnowledges.Add(item);
                 db.BranchOfKnowledgePublications.Add(new BranchOfKnowledgePublication()
                 {
                     BranchOfKnowledge = item, Publication = pub
                 });
             }
             else
             {
                 db.BranchOfKnowledgePublications.Add(new BranchOfKnowledgePublication()
                 {
                     BranchOfKnowledge = GetTheSameBranch(item), Publication = pub
                 });
             }
         }
         db.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Ejemplo n.º 4
0
 public bool EditPublication(SavePublicationVM savePublication)
 {
     try
     {
         Publication pub = (from f in db.Publications where f.PublicationId == savePublication.Id select f).ToArray()[0];
         List <AuthorPublication> aps = (from a in db.AuthorPublications where a.PublicationId == pub.PublicationId select a).ToList();
         foreach (var item in aps)
         {
             db.AuthorPublications.Remove(item);
         }
         List <BranchOfKnowledgePublication> bons = (from b in db.BranchOfKnowledgePublications where b.PublicationId == pub.PublicationId select b).ToList();
         foreach (var item in bons)
         {
             db.BranchOfKnowledgePublications.Remove(item);
         }
         List <FieldValue>   fieldValues    = (from f in db.FieldValues where f.PublicationId == pub.PublicationId select f).ToList();
         List <FieldValueVM> fieldsValuesVM = GetFieldValueVmOfPublication(pub);
         List <FieldValueVM> correctValues  = new List <FieldValueVM>();
         foreach (var item in fieldsValuesVM)
         {
             bool temp = false;
             foreach (var item1 in savePublication.FieldsValue)
             {
                 if (item.Name == item1.Name)
                 {
                     correctValues.Add(item1);
                     temp = true;
                 }
             }
             if (!temp)
             {
                 correctValues.Add(item);
             }
         }
         foreach (var item in fieldValues)
         {
             db.FieldValues.Remove(item);
         }
         foreach (var item in correctValues)
         {
             PublicationField pf = findFieldByName(item.Name);
             db.FieldValues.Add(new FieldValue()
             {
                 PublicationId = pub.PublicationId, PublicationFieldId = pf.PublicationFieldId, Value = item.FieldType != FieldType.Boolean?item.Value:item.isChecked.ToString()
             });
         }
         foreach (var item in savePublication.Authors)
         {
             if (!IsAuthorExist(item))
             {
                 db.Authors.Add(item);
                 db.AuthorPublications.Add(new AuthorPublication()
                 {
                     Author = item, Publication = pub
                 });
             }
             else
             {
                 db.AuthorPublications.Add(new AuthorPublication()
                 {
                     Author = GetTheSameAuthor(item), Publication = pub
                 });
             }
         }
         foreach (var item in savePublication.BranchesOfKnowledge)
         {
             if (!IsBranchExist(item))
             {
                 db.BranchOfKnowledges.Add(item);
                 db.BranchOfKnowledgePublications.Add(new BranchOfKnowledgePublication()
                 {
                     BranchOfKnowledge = item, Publication = pub
                 });
             }
             else
             {
                 db.BranchOfKnowledgePublications.Add(new BranchOfKnowledgePublication()
                 {
                     BranchOfKnowledge = GetTheSameBranch(item), Publication = pub
                 });
             }
         }
         db.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }