public void PostPassport_ShoulAddPassport() { var passportsTestData = new List <EmployeePassport>() { new EmployeePassport { Id = 1, EmployeeId = 2 }, new EmployeePassport { Id = 2, Deleted = true, EmployeeId = 2 }, new EmployeePassport { Id = 3, EmployeeId = 3 } }; var passports = MockHelper.MockDbSet(passportsTestData); passports.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(passports.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); }); passports.Setup(d => d.Add(It.IsAny <EmployeePassport>())).Returns <EmployeePassport>((contact) => { passportsTestData.Add(contact); passports = MockHelper.MockDbSet(passportsTestData); return(contact); }); var dbContext = new Mock <IAppDbContext>(); dbContext.Setup(m => m.EmployeePassports).Returns(passports.Object); dbContext.Setup(d => d.Set <EmployeePassport>()).Returns(passports.Object); dbContext.Setup(d => d.ExecuteStoredProcedure <int>(It.IsAny <string>(), It.IsAny <object[]>())) .Returns <string, object[]>((query, parameters) => { List <int> list = new List <int>(); if (query.Contains("NewTableId")) { int i = passports.Object.Max(d => d.Id) + 1; list.Add(i); } else { list.Add(0); } return(list); }); var factory = new Mock <IDbContextFactory>(); factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object); EmployeePassport passport = new EmployeePassport { Id = 0, EmployeeId = 3, Address = new Address { Apartment = "3", BuildingNumber = 45 } }; var controller = new EmployeePassportsController(factory.Object); var result = controller.PostEmployeePassport(passport.ToDTO()) as CreatedAtRouteNegotiatedContentResult <EmployeePassportDTO>; Assert.IsNotNull(result); Assert.AreEqual(4, result.Content.Id); Assert.AreEqual(3, result.Content.EmployeeId); }
public IHttpActionResult DeleteEmployeePassport(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); EmployeePassport passport = unitOfWork.EmployeePassportsRepository .Get(d => d.EmployeeId == id, includeProperties: "Address, Address.Country,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage").FirstOrDefault(); passport.Deleted = true; unitOfWork.EmployeePassportsRepository.Update(passport); unitOfWork.Save(); EmployeePassportDTO dto = passport.ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult GetEmployeePassport(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); EmployeePassport p = unitOfWork.EmployeePassportsRepository .Get(d => d.Id == id, includeProperties: "Address,Address.Country,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage") .FirstOrDefault(); EmployeePassportDTO employeePassport = p.ToDTO(); return(Ok(employeePassport)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PostEmployeePassport(EmployeePassportDTO employeePassport) { if (employeePassport == null) { return(BadRequest(ModelState)); } try { EmployeePassport passport = employeePassport.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); passport.Address.Id = passport.Address.NewId(unitOfWork); passport.AddressId = passport.Address.Id; passport.Id = passport.NewId(unitOfWork); unitOfWork.EmployeePassportsRepository.Insert(passport); unitOfWork.Save(); EmployeePassportDTO dto = unitOfWork.EmployeePassportsRepository .Get(d => d.Id == passport.Id, includeProperties: "Address,Address.Country,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage").FirstOrDefault().ToDTO(); return(CreatedAtRoute("GetEmployeePassport", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PutEmployeePassport(int id, EmployeePassportDTO employeePassport) { if (employeePassport == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != employeePassport.Id) { return(BadRequest()); } try { EmployeePassport passport = employeePassport.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.EmployeePassportsRepository.Update(passport); unitOfWork.Save(); EmployeePassportDTO dto = unitOfWork.EmployeePassportsRepository .Get(d => d.Id == id, includeProperties: "Address,Address.Country,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage").FirstOrDefault().ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public int Update(EmpPassportItem model) { Mapper.CreateMap <EmpPassportItem, EmployeePassport>(); EmployeePassport objPass = DbContext.EmployeePassports.SingleOrDefault(m => m.Id == model.Id); objPass = Mapper.Map(model, objPass); return(DbContext.SaveChanges()); }
public EmpPassportItem GetById(int id) { Mapper.CreateMap <EmployeePassport, EmpPassportItem>(); EmployeePassport objPassport = DbContext.EmployeePassports.SingleOrDefault(m => m.Id == id); EmpPassportItem objPassItem = Mapper.Map <EmpPassportItem>(objPassport); return(objPassItem); }
public int Insert(EmpPassportItem model) { try { Mapper.CreateMap <EmpPassportItem, EmployeePassport>(); EmployeePassport objEmpPassport = Mapper.Map <EmployeePassport>(model); DbContext.EmployeePassports.Add(objEmpPassport); return(DbContext.SaveChanges()); } catch (Exception ex) { throw ex; } }
public void DeletePassport_ShouldDeleteAndReturnOk() { var passportsTestData = new List <EmployeePassport>() { new EmployeePassport { Id = 1, EmployeeId = 2 }, new EmployeePassport { Id = 2, Deleted = true, EmployeeId = 2 }, new EmployeePassport { Id = 3, EmployeeId = 3 } }; var passports = MockHelper.MockDbSet(passportsTestData); passports.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(passports.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); }); var dbContext = new Mock <IAppDbContext>(); dbContext.Setup(m => m.EmployeePassports).Returns(passports.Object); dbContext.Setup(d => d.Set <EmployeePassport>()).Returns(passports.Object); var factory = new Mock <IDbContextFactory>(); factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object); EmployeePassport passport = new EmployeePassport { Id = 3, EmployeeId = 3 }; var controller = new EmployeePassportsController(factory.Object); var result = controller.DeleteEmployeePassport(3) as OkNegotiatedContentResult <EmployeePassportDTO>; Assert.IsNotNull(result); Assert.AreEqual(3, result.Content.Id); Assert.AreEqual(3, result.Content.EmployeeId); }
/// <summary> /// заполнение базы данных пользователей /// </summary> public static void GenerateUserRepository(ACSContext Context) { // var location = System.Reflection.Assembly.GetExecutingAssembly().Location; //отфильтровали по актуальности //сгрупировали по кодфизлица //выбрали из каждой группы запись с самой новой датой принятия //т.к там самые свежие паспортные данные и фамилии //отсортировали по дате принятия и фамилии var query = from db in DataLoader1C.Data.Сотрудники where db.Актуальность == "Да" group db by db.КодФизЛицо into @group from dataEmpl in @group where XMLDataTypeConverter.GetDateTime(dataEmpl.Принят) == @group.Max(dataEmpl => XMLDataTypeConverter.GetDateTime(dataEmpl.Принят)) orderby XMLDataTypeConverter.GetDateTime(dataEmpl.Принят), dataEmpl.ФИО select dataEmpl; //{ // Email = "*****@*****.**", // UserName = "******", // Password = "******", // Name = "Семен Семенович Горбунков", // Address = "ул. Спортивная, д.30, кв.75", // Role = "admin", foreach (var dataUser in query) { string[] DataFullNameEmp = dataUser.ФИО.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); DataUserInActiveDirectory dataUserAD = new DataUserInActiveDirectory(); dataUserAD.SearchData(DataFullNameEmp[0], DataFullNameEmp[1]); Console.WriteLine(dataUserAD.SID.ToString().Length.ToString()); var newDataUser = new Employee() { LName = DataFullNameEmp[0], FName = DataFullNameEmp[1], MName = DataFullNameEmp[2], //FullName = dataUser.ФИО, //ShortName = String.Format("{0} {1}.{2}.", DataFullNameEmp[0], DataFullNameEmp[1].FirstOrDefault(), DataFullNameEmp[2].FirstOrDefault()), SID = dataUserAD.SID, Guid1C = Guid.Parse(dataUser.КодФизЛицо), Birthday = XMLDataTypeConverter.GetDateTime(dataUser.ДатаРождения), Email = dataUserAD.Email, //PersonnelNumber = Convert.ToInt32(dataUser.ТабельныйНомер), PersonnelNumber = dataUser.ТабельныйНомер, s_AuthorID = 1, s_EditorID = 1, }; EmployeePassport Passport = new EmployeePassport() { //паспортные данные DateOfIssue = XMLDataTypeConverter.GetDateTime(dataUser.ДокументДатаВыдачи), IssuedBy = dataUser.ДокументКемВыдан, Number = dataUser.ДокументНомер.ToString(), Series = dataUser.ДокументСерия, UnitCode = dataUser.ДокументКодПодразделения, Employee = newDataUser }; //добавляя паспартные данные, автоматически добавляются и пользовательские Context.EmployeesPassports.Add(Passport); Context.SaveChanges(); } }