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); } }
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(); } }