Пример #1
0
        public static LibUserEF UpdateFromDetached(this LibUserEF AttachedEF, LibUserEF DetachedEF)
        {
            if (AttachedEF is null)
            {
                throw new ArgumentNullException(nameof(AttachedEF));
            }

            if (DetachedEF is null)
            {
                throw new ArgumentNullException(nameof(DetachedEF));
            }

            if (AttachedEF.Id != DetachedEF.Id)
            {
                throw new Exception("Cannot update ComponentEF entity as it is not the same.");
            }

            if ((AttachedEF != default) && (DetachedEF != default))
            {
                AttachedEF.Id              = DetachedEF.Id;
                AttachedEF.IdentityUserId  = DetachedEF.IdentityUserId;
                AttachedEF.UserInstruments = DetachedEF.UserInstruments;
            }
            return(AttachedEF);
        }
Пример #2
0
        public static LibUserTO ToTransferObject(this LibUserEF LibUser)
        {
            if (LibUser is null)
            {
                throw new ArgumentNullException(nameof(LibUser));
            }

            return(new LibUserTO
            {
                Id = LibUser.Id,
                IdentityUserId = LibUser.IdentityUserId,
                InstrumentIds = LibUser.UserInstruments?.Select(x => x.InstrumentId).ToList(),
            });
        }
Пример #3
0
        public void ToTransfertObject_ProvidingNull_ThrowException()
        {
            InstrumentEF instrument = null;
            LibUserEF    libUser    = null;
            CategoryEF   category   = null;
            SheetEF      sheet      = null;
            SheetPartEF  sheetPart  = null;

            //ACT
            Assert.ThrowsException <ArgumentNullException>(() => instrument.ToTransferObject());
            Assert.ThrowsException <ArgumentNullException>(() => libUser.ToTransferObject());
            Assert.ThrowsException <ArgumentNullException>(() => category.ToTransferObject());
            Assert.ThrowsException <ArgumentNullException>(() => sheet.ToTransferObject());
            Assert.ThrowsException <ArgumentNullException>(() => sheetPart.ToTransferObject());
        }
Пример #4
0
        public static LibUserEF ToEF(this LibUserTO LibUser)
        {
            if (LibUser is null)
            {
                throw new ArgumentNullException(nameof(LibUser));
            }

            var libUserEF = new LibUserEF
            {
                Id             = LibUser.Id,
                IdentityUserId = LibUser.IdentityUserId,
            };

            libUserEF.UserInstruments = LibUser.InstrumentIds?.Select(x => new UserInstruEF
            {
                LibUserId    = libUserEF.Id,
                InstrumentId = x,
            }).ToList();

            return(libUserEF);
        }
Пример #5
0
        public void ToTransfertObject_Successful()
        {
            //ARRANGE
            var instrument = new InstrumentEF {
                Id = 4, Name = "Saxophone", UserInstruments = new List <UserInstruEF> {
                    new UserInstruEF {
                        InstrumentId = 4, LibUserId = 1
                    }
                }
            };
            var libUser = new LibUserEF {
                Id = 1, IdentityUserId = 24, UserInstruments = new List <UserInstruEF> {
                    new UserInstruEF {
                        InstrumentId = 4, LibUserId = 1
                    }
                }
            };
            var category = new CategoryEF {
                Id = 2, Name = "Jazz"
            };
            var sheet = new SheetEF {
                Id = 3, Name = "Sam's Dixie", Category = category, IsCurrent = true, IsIndependance = true, IsGarde = false,
            };
            var sheetPart = new SheetPartEF {
                Id = 2, Instrument = instrument, Sheet = sheet, Path = "Path"
            };
            //ACT
            var instrumentTO = instrument.ToTransferObject();
            var libUserTO    = libUser.ToTransferObject();
            var categoryTO   = category.ToTransferObject();
            var sheetTO      = sheet.ToTransferObject();
            var sheetPartTO  = sheetPart.ToTransferObject();

            //Assert
            Assert.AreEqual(instrument.Name, instrumentTO.Name);
            Assert.AreEqual(libUser.IdentityUserId, libUserTO.IdentityUserId);
            Assert.AreEqual(category.Name, categoryTO.Name);
            Assert.AreEqual(sheet.Name, sheetTO.Name);
            Assert.AreEqual(sheetPart.Sheet.Name, sheetPartTO.Sheet.Name);
        }
Пример #6
0
        public void UpdateFromDetached_ProvidingNullDetachedEF_ThrowException()
        {
            InstrumentEF instrumentDetached = null;
            LibUserEF    libUserDetached    = null;
            CategoryEF   categoryDetached   = null;
            SheetEF      sheetDetached      = null;
            SheetPartEF  sheetPartDetached  = null;

            var instrument = new InstrumentEF {
                Id = 4, Name = "Saxophone", UserInstruments = new List <UserInstruEF> {
                    new UserInstruEF {
                        InstrumentId = 4, LibUserId = 1
                    }
                }
            };
            var libUser = new LibUserEF {
                Id = 1, IdentityUserId = 24, UserInstruments = new List <UserInstruEF> {
                    new UserInstruEF {
                        InstrumentId = 4, LibUserId = 1
                    }
                }
            };
            var category = new CategoryEF {
                Id = 2, Name = "Jazz"
            };
            var sheet = new SheetEF {
                Id = 3, Name = "Sam's Dixie", Category = category, IsCurrent = true, IsIndependance = true, IsGarde = false,
            };
            var sheetPart = new SheetPartEF {
                Id = 2, Instrument = instrument, Sheet = sheet, Path = "Path"
            };

            Assert.ThrowsException <ArgumentNullException>(() => instrument.UpdateFromDetached(instrumentDetached));
            Assert.ThrowsException <ArgumentNullException>(() => libUser.UpdateFromDetached(libUserDetached));
            Assert.ThrowsException <ArgumentNullException>(() => category.UpdateFromDetached(categoryDetached));
            Assert.ThrowsException <ArgumentNullException>(() => sheet.UpdateFromDetached(sheetDetached));
            Assert.ThrowsException <ArgumentNullException>(() => sheetPart.UpdateFromDetached(sheetPartDetached));
        }