public void UpdateCompany(int id, string name, string phone, string email, List <Address> addresses, string description, string pic) { CompanyOutput oldCompanyOut = GetCompanyById(id); Company oldCompany = db.Companies.Find(id); Company company = new Company { Id = id, Name = name, Phone = phone, Email = email, Description = description, Pic = pic, PasswordHash = oldCompanyOut.PasswordHash, Role = oldCompanyOut.Role }; //List<string> addresses = db.Company_to_address.Where(item => item.Company_id == id).Select(item => item.Address).ToList(); db.Entry(oldCompany).State = EntityState.Detached; db.Companies.Update(company); db.SaveChanges(); foreach (Address item in addresses) { if (item.Id != 0) { db.Company_to_address.Update(new Company_to_address { Id = item.Id, Address = item.Value, Company_id = id }); } else { db.Company_to_address.Add(new Company_to_address { Company_id = id, Address = item.Value }); } } db.SaveChanges(); }
/// <summary> /// Возвращает определенное количество объектов Компаний. /// </summary> /// <param name="from">Индекс начала range</param> /// <param name="to">Индекс конца range</param> /// <returns>Коллекция объектов Company</returns> public List <CompanyOutput> GetCompaniesRange(int from, int to) { from--; to--; try { List <Company> companies = db.Companies.ToList().GetRange(from, to - from); List <CompanyOutput> companyOutputs = new List <CompanyOutput> { }; foreach (Company company in companies) { CompanyOutput companyOutput = new CompanyOutput { Id = company.Id, Name = company.Name, Email = company.Email, Phone = company.Phone, Description = company.Description, Pic = company.Pic, PasswordHash = company.PasswordHash, Role = company.Role, Address = db.Company_to_address.Where(item => item.Company_id == company.Id).Select(item => item.Address).ToArray() }; companyOutputs.Add(companyOutput); } return(companyOutputs); } catch (Exception) { return(new List <CompanyOutput> { }); } }
public async Task <IActionResult> UpdateCompany(string name, string phone, string email, string address, string description, IFormFile pic) { CompanyOutput currentCompany = dbService.GetCompanyByEmail(User.Identity.Name); if (dbService.GetCompanyByEmail(email) is null || (currentCompany.Email.Equals(email))) { string filePath = String.Empty; if (!(pic is null)) { filePath = "/Files/" + Guid.NewGuid() + "." + pic.FileName.Split('.')[1]; using (var fileStream = new FileStream(appEnvironment.WebRootPath + filePath, FileMode.Create)) { await pic.CopyToAsync(fileStream); } }
public CompanyOutput GetCompanyById(int id) { Company company = db.Companies.Find(id); List <string> addresses = db.Company_to_address.Where(item => item.Company_id == company.Id).Select(item => item.Address).ToList(); CompanyOutput companyOutput = new CompanyOutput { Id = company.Id, Name = company.Name, Email = company.Email, Phone = company.Phone, Description = company.Description, Pic = company.Pic, PasswordHash = company.PasswordHash, Role = company.Role, Address = addresses.ToArray() }; return(companyOutput); }
const int SaltSize = 128 / 8; // 128 bits public static ClaimsIdentity GetIdentity(string username, string password, DbService db) { CompanyOutput company = db.GetCompanyByEmail(username); if (company != null && VerifyHashedPassword(Convert.FromBase64String(company.PasswordHash), password)) { var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, company.Email), new Claim(ClaimsIdentity.DefaultRoleClaimType, company.Role) }; ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Token", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType); return(claimsIdentity); } // если пользователя не найдено return(null); }
public void AddCompanyReturnCreatedCompanyTest() { //Arrange Domain.Company.Company cm = new Domain.Company.Company(); Domain.Company.Company c = new Domain.Company.Company(1, "Razón Social 1", "CUIT", "Dirección", "Teléfono", null); CompanyOutput co = new CompanyOutput() { CompanyID = 1, BusinessName = "Razón Social 1", Address = "Dirección", PhoneNumber = "Teléfono", Logo = null }; var mockCompanyRepository = new Mock <ICompanyRepository>(); var mockMapper = new Mock <IMapper>(); mockCompanyRepository.Setup(e => e.Add(It.IsAny <Domain.Company.Company>())).Returns(c); mockMapper.Setup(e => e.Map <Domain.Company.Company, CompanyOutput>(It.IsAny <Domain.Company.Company>())).Returns(co); var useCase = new AddCompanyUseCase(mockCompanyRepository.Object, mockMapper.Object); //Act var res = useCase.Execute(cm); //Assert Assert.IsType <CompanyOutput>(res); }
public void GetOneCompanyReturnsSuccessfullyTest() { //Arrange Domain.Company.Company c = new Domain.Company.Company(1, "Company 1", "CUIT", "Dirección", "Teléfono", null); CompanyOutput cO = new CompanyOutput() { CompanyID = 1, BusinessName = "Company 1", CUIT = "CUIT", Address = "Dirección", PhoneNumber = "Teléfono", Logo = null }; var mockCompanyRepository = new Mock <ICompanyRepository>(); var mockMapper = new Mock <IMapper>(); mockCompanyRepository.Setup(e => e.GetOne(It.IsAny <int>())).Returns(c); mockMapper.Setup(e => e.Map <Domain.Company.Company, CompanyOutput>(It.IsAny <Domain.Company.Company>())).Returns(cO); var useCase = new GetOneCompanyUseCase(mockCompanyRepository.Object, mockMapper.Object); //Act var res = useCase.Execute(1); //Assert Assert.IsType <CompanyOutput>(res); }
public List <CompanyOutput> GetCompanies() { List <Company> companies = db.Companies.ToList(); List <CompanyOutput> companyOutputs = new List <CompanyOutput> { }; foreach (Company company in companies) { CompanyOutput companyOutput = new CompanyOutput { Id = company.Id, Name = company.Name, Email = company.Email, Phone = company.Phone, Description = company.Description, Pic = company.Pic, PasswordHash = company.PasswordHash, Role = company.Role, Address = db.Company_to_address.Where(item => item.Company_id == company.Id).Select(item => item.Address).ToArray() }; companyOutputs.Add(companyOutput); } return(companyOutputs); }
public List <string> GetCompanyAddressesByEmail(string email) { CompanyOutput company = GetCompanyByEmail(email); return(company.Address.ToList()); }