public ActionResult CreateNewEntity(MusicShopForm input)
        {
            Console.WriteLine("hereeee");
            MusicShop entity = new MusicShop();

            if (input.CD != null)
            {
                entity.CDs.CDList.Add(input.CD);
            }
            if (input.DVD != null)
            {
                entity.DVDs.DVDList.Add(input.DVD);
            }
            if (input.Vinyl != null)
            {
                entity.Vinyls.VinylList.Add(input.Vinyl);
            }
            if (input.DeluxeEdition != null)
            {
                entity.DeluxeEditions.DeluxeEditionList.Add(input.DeluxeEdition);
            }
            if (input.T_Shirt != null)
            {
                entity.FanMerchandise.TShirts.TShirtList.Add(input.T_Shirt);
            }

            //saveData(entity);

            return(View());
        }
예제 #2
0
        public ActionResult LoadFiles()
        {
            var fileNames = Directory.GetFiles(LoadedXMLsLocation).Select(file => Path.GetFileName(file)).ToArray();

            foreach (string fileName in fileNames)
            {
                var fullFilePath = LoadedXMLsLocation + fileName;
                if (ValidateXMLByScheme.isValidated(XSDSchema, fullFilePath))
                {
                    MusicShop DBentity = Serialization.Deserialize(fullFilePath);
                    SendToDB(DBentity, fileName);
                }
                else
                {
                    if (!fileStatuses.Keys.Contains(fileName))
                    {
                        fileStatuses.Add(fileName, new FileStatus
                        {
                            fileName       = fileName,
                            isValid        = false,
                            isAlreadyAdded = false,
                            status         = "Failed"
                        });
                    }
                }
            }

            return(View("GetLoadedFiles", fileStatuses));
        }
예제 #3
0
        public ActionResult CreateNewEntity(MusicShopForm input)
        {
            MusicShop entity = new MusicShop();

            if (input.CD != null)
            {
                entity.CDs.CDList.Add(input.CD);
            }
            if (input.DVD != null)
            {
                entity.DVDs.DVDList.Add(input.DVD);
            }
            if (input.Vinyl != null)
            {
                entity.Vinyls.VinylList.Add(input.Vinyl);
            }
            if (input.DeluxeEdition != null)
            {
                entity.DeluxeEditions.DeluxeEditionList.Add(input.DeluxeEdition);
            }
            if (input.T_Shirt != null)
            {
                entity.FanMerchandise.TShirts.TShirtList.Add(input.T_Shirt);
            }

            SaveData(entity);
            ModelState.Clear();

            return(View("GetLoadedFiles", fileStatuses));
        }
예제 #4
0
        public void SendToDB(MusicShop DBentity, string FileName)
        {
            bool isEntitiyExisting = true;

            if (DBentity.CDs != null && DBentity.CDs.CDList != null)
            {
                foreach (var cd in DBentity.CDs.CDList)
                {
                    isEntitiyExisting = _dBAccsessService.SaveCDToDB(cd);
                }
            }

            if (DBentity.DVDs != null && DBentity.DVDs.DVDList != null)
            {
                foreach (var dvd in DBentity.DVDs.DVDList)
                {
                    isEntitiyExisting = _dBAccsessService.SaveDVDToDB(dvd);
                }
            }

            if (DBentity.Vinyls != null && DBentity.Vinyls.VinylList != null)
            {
                foreach (var vinyl in DBentity.Vinyls.VinylList)
                {
                    isEntitiyExisting = _dBAccsessService.SaveVinylToDB(vinyl);
                }
            }

            if (DBentity.DeluxeEditions != null && DBentity.DeluxeEditions.DeluxeEditionList != null)
            {
                foreach (var deluxe in DBentity.DeluxeEditions.DeluxeEditionList)
                {
                    isEntitiyExisting = _dBAccsessService.SaveDeluxeToDB(deluxe);
                }
            }

            if (DBentity.FanMerchandise != null && DBentity.FanMerchandise.TShirts != null && DBentity.FanMerchandise.TShirts.TShirtList != null)
            {
                foreach (var t_Shirt in DBentity.FanMerchandise.TShirts.TShirtList)
                {
                    isEntitiyExisting = _dBAccsessService.SaveTShirtToDB(t_Shirt);
                }
            }

            var changesSaved = _dBAccsessService.SaveChanges();
            var isAddedToDB  = !isEntitiyExisting && changesSaved ? true : false;

            if (!fileStatuses.Keys.Contains(FileName))
            {
                fileStatuses.Add(FileName, new FileStatus
                {
                    fileName       = FileName,
                    isValid        = true,
                    isAlreadyAdded = !isAddedToDB,
                    status         = isAddedToDB ? "Success" : "Failed"
                });
            }
        }
예제 #5
0
        private void SaveData(MusicShop entity)
        {
            var directory = new DirectoryInfo(GeneratedXMLsLocation);
            var guid      = Guid.NewGuid().ToString();
            var fileName  = $"xml_{guid}.xml";
            var filePath  = $"{directory}/{fileName}";

            Serialization.Serialize(entity, filePath);
            SendToDB(entity, fileName);
        }
예제 #6
0
        public static MusicShop Deserialize(string fileName)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(MusicShop));
            TextReader    reader     = new StreamReader(fileName);
            MusicShop     result     = (MusicShop)serializer.Deserialize(reader);

            reader.Close();

            return(result);
        }
예제 #7
0
        public static void Serialize(MusicShop entity, string fileName)
        {
            XmlDocument   xmlDocument = new XmlDocument();
            XmlSerializer serializer  = new XmlSerializer(typeof(MusicShop));

            using (MemoryStream stream = new MemoryStream())
            {
                serializer.Serialize(stream, entity);
                stream.Position = 0;
                xmlDocument.Load(stream);
                xmlDocument.Save(fileName);
            }
        }
 public IMusicShop CreateMusicShop(string name)
 {
     IMusicShop musicShop = new MusicShop(name);
     return musicShop;
 }
예제 #9
0
        public IMusicShop CreateMusicShop(string name)
        {
            var musicShop = new MusicShop(name);

            return(musicShop);
        }