コード例 #1
0
        public static Item TransformItemToDatabaseType(Models.Models.Item item)
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Models.Models.Item, Item>()
                .ForMember(dest => dest.ItemID, opt => opt.MapFrom(src => src.ItemID))
                .ForMember(dest => dest.UserID, opt => opt.MapFrom(src => src.UserID))
                .ForMember(dest => dest.ItemName, opt => opt.MapFrom(src => src.ItemName))
                .ForMember(dest => dest.Price, opt => opt.MapFrom(src => src.Price))
                .ForMember(dest => dest.DateOfPurchase, opt => opt.MapFrom(src => src.DateOfPurchase))
                .ForMember(dest => dest.Shop, opt => opt.MapFrom(src => src.Shop))
                .ForMember(dest => dest.Warranty, opt => opt.MapFrom(src => src.Warranty))
                .ForMember(dest => dest.Note, opt => opt.MapFrom(src => src.Note))
                .ForMember(dest => dest.DaysToReturn, opt => opt.MapFrom(src => src.Return))
                .ForMember(dest => dest.PDFDocument, opt => opt.MapFrom(src => new PDFDocument {
                    PDFDocumentName = src.PDFDocumentName, PDFDocumentArray = src.PDFDocument
                }))
                .ForMember(dest => dest.Picture, opt => opt.MapFrom(src => new Picture {
                    PictureName = src.PictureName, PictureArray = src.Picture
                }))
                .ForMember(dest => dest.KeyForCache, opt => opt.MapFrom(src => src.KeyForCache));
            });

            var mapper = config.CreateMapper();

            return(mapper.Map <Item>(item));
        }
        private void OnEditItem(object value)
        {
            if (value == null)
            {
                return;
            }

            Models.Models.Item item = value as Models.Models.Item;
            if (item == null)
            {
                return;
            }

            Dialogs.DialogItem.DialogItemViewModel vm = new Dialogs.DialogItem.DialogItemViewModel(item);
            DialogFactory dialogFactory = new DialogFactory();
            DialogResult  dialogResult  = dialogFactory.ShowDialog("Item", vm);
            //if (dialogResult == DialogResult.OK)
            //{
            //    OnPropertyChanged("Items");
            //}
        }
        private void OnDeleteItem(object value)
        {
            if (value == null)
            {
                return;
            }

            Models.Models.Item item = value as Models.Models.Item;
            if (item == null)
            {
                return;
            }

            string               message       = "Delete selected item?";
            DialogYesNoModel     m             = new DialogYesNoModel(message);
            DialogYesNoViewModel vm            = new DialogYesNoViewModel(m);
            DialogFactory        dialogFactory = new DialogFactory();
            DialogResult         dialogResult  = dialogFactory.ShowDialog("Delete", vm);

            if (dialogResult == DialogResult.YES)
            {
                this.model.DeleteItem(item.ID);
            }
        }
コード例 #4
0
        public void UpdateItem(Models.Models.Item item)
        {
            var itemToUpdate = this.context.Item.SingleOrDefault(x => x.KeyForCache == item.KeyForCache);

            var updatedItem = Helpers.Automapper.TransformItemForUpdateToDatabaseType(item);

            updatedItem.ItemID = itemToUpdate.ItemID;

            var listOfItemCategories = this.GetItemCategories();

            updatedItem.ItemCategory = listOfItemCategories.Where(x => x.CategoryName == item.Category).Single();
            updatedItem.CategoryID   = listOfItemCategories.Where(x => x.CategoryName == item.Category).Single().CategoryID;

            updatedItem.PDFDocument = new PDFDocument();
            updatedItem.Picture     = new Picture();

            if (itemToUpdate != null)
            {
                if (itemToUpdate.PDFDocument.PDFDocumentArray != null && itemToUpdate.PDFDocument.PDFDocumentName != null &&
                    item.PDFDocument.SequenceEqual(itemToUpdate.PDFDocument.PDFDocumentArray) &&
                    item.PDFDocumentName == itemToUpdate.PDFDocument.PDFDocumentName)
                {
                    updatedItem.PDFDocument.DocumentID       = itemToUpdate.PDFDocument.DocumentID;
                    updatedItem.DocumentID                   = itemToUpdate.PDFDocument.DocumentID;
                    updatedItem.PDFDocument.PDFDocumentName  = itemToUpdate.PDFDocument.PDFDocumentName;
                    updatedItem.PDFDocument.PDFDocumentArray = itemToUpdate.PDFDocument.PDFDocumentArray;
                }
                else
                {
                    var checkIfDocumentExistInDatabase = this.context.PDFDocument.ToList().Where(x => x.PDFDocumentName == item.PDFDocumentName && x.PDFDocumentArray == item.PDFDocument).FirstOrDefault();

                    if (checkIfDocumentExistInDatabase == null)
                    {
                        var newPDFDocument = new PDFDocument()
                        {
                            PDFDocumentArray = item.PDFDocument, PDFDocumentName = item.PDFDocumentName
                        };
                        this.context.PDFDocument.Add(newPDFDocument);
                        this.context.SaveChanges();
                    }

                    var documentFromDataBase = this.context.PDFDocument.ToList().Where(x => x.PDFDocumentName == item.PDFDocumentName && x.PDFDocumentArray == item.PDFDocument).FirstOrDefault();
                    updatedItem.PDFDocument.DocumentID       = documentFromDataBase.DocumentID;
                    updatedItem.DocumentID                   = documentFromDataBase.DocumentID;
                    updatedItem.PDFDocument.PDFDocumentName  = documentFromDataBase.PDFDocumentName;
                    updatedItem.PDFDocument.PDFDocumentArray = documentFromDataBase.PDFDocumentArray;
                }

                if (updatedItem.Picture.PictureArray != null && updatedItem.Picture.PictureName != null &&
                    updatedItem.Picture.PictureArray == itemToUpdate.Picture.PictureArray &&
                    updatedItem.Picture.PictureName == itemToUpdate.Picture.PictureName)
                {
                    updatedItem.Picture.PictureID    = itemToUpdate.Picture.PictureID;
                    updatedItem.PictureID            = itemToUpdate.Picture.PictureID;
                    updatedItem.Picture.PictureName  = itemToUpdate.Picture.PictureName;
                    updatedItem.Picture.PictureArray = itemToUpdate.Picture.PictureArray;
                }
                else
                {
                    var checkIfPictureExistInDatabase = this.context.Picture.ToList().Where(x => x.PictureName == item.PictureName && x.PictureArray.SequenceEqual(item.Picture)).FirstOrDefault();

                    if (checkIfPictureExistInDatabase == null)
                    {
                        var newPicture = new Picture()
                        {
                            PictureArray = item.Picture, PictureName = item.PictureName
                        };
                        this.context.Picture.Add(newPicture);
                        this.context.SaveChanges();
                    }

                    var pictureFromDatabase = this.context.Picture.ToList().Where(x => x.PictureName == item.PictureName && x.PictureArray.SequenceEqual(item.Picture)).FirstOrDefault();
                    updatedItem.Picture.PictureID    = pictureFromDatabase.PictureID;
                    updatedItem.PictureID            = pictureFromDatabase.PictureID;
                    updatedItem.Picture.PictureName  = pictureFromDatabase.PictureName;
                    updatedItem.Picture.PictureArray = pictureFromDatabase.PictureArray;
                }

                this.context.Entry(itemToUpdate).CurrentValues.SetValues(updatedItem);
                this.context.SaveChanges();
            }
        }