public OrganizationInfoViewModel GetOrganizationInfo(Guid organizationId) { var organization = _applicationDbContext.Organizations.Include("OrganizationRatings").SingleOrDefault(p => p.Id == organizationId); if (organization == null) { throw new Exception($"Организации с таким id {organizationId} не существует"); } var organizationFiles = _applicationDbContext.OrganizationFiles.Where(p => p.OrganizationId == organizationId).ToList(); var averageScore = organization.OrganizationRatings.Average(p => p.Score); OrganizationInfoViewModel model = new OrganizationInfoViewModel() { OrganizationId = organization.Id.ToString(), FullName = organization.FullName, IdentificationNumber = organization.IdentificationNumber, OrganizationType = organization.OrganizationType.Name, OrganizationRating = averageScore, Address = organization.Address, Email = organization.Email, Contacts = organization.Contacts, Site = organization.Site, OrganizationFiles = organizationFiles }; return(model); }
public void EditOrganizationInfo(OrganizationInfoViewModel model) { var organization = _applicationDbContext.Organizations.SingleOrDefault(p => p.Id.ToString() == model.OrganizationId); if (organization == null) { throw new Exception($"Организации с id {model.OrganizationId} в базе нет"); } var organizationType = _applicationDbContext.OrganizationTypes .SingleOrDefault(p => p.Name == model.OrganizationType); if (organizationType == null) { OrganizationType orgType = new OrganizationType() { Id = Guid.NewGuid(), Name = model.OrganizationType }; _applicationDbContext.OrganizationTypes.Add(orgType); _applicationDbContext.SaveChanges(); organizationType = orgType; } organization.FullName = model.FullName; organization.IdentificationNumber = model.IdentificationNumber; organization.OrganizationTypeId = organizationType.Id; organization.Address = model.Address; organization.Email = model.Email; organization.Contacts = model.Contacts; organization.Site = model.Site; _applicationDbContext.SaveChanges(); if (model.UploadedFiles.Count != 0) { foreach (HttpPostedFileBase i in model.UploadedFiles) { OrganizationFile file = new OrganizationFile(); byte[] fileData = null; using (var binaryReader = new BinaryReader(i.InputStream)) { fileData = binaryReader.ReadBytes(i.ContentLength); } file.OrganizationId = organization.Id; file.FileName = i.FileName; file.Extension = i.ContentType; file.Content = fileData; file.CreatedAt = DateTime.Now; _applicationDbContext.OrganizationFiles.Add(file); _applicationDbContext.SaveChanges(); } } }
public void OrganizationManagementService_EditOrganizationInfo() { ApplicationDbContext applicationDb = new ApplicationDbContext(); applicationDb.Database.CreateIfNotExists(); OrganizationType organizationType = new OrganizationType() { Id = Guid.NewGuid(), Name = "TestType_04" }; applicationDb.OrganizationTypes.Add(organizationType); applicationDb.SaveChanges(); Organization organization = new Organization() { Id = Guid.NewGuid(), FullName = "TestCompany_04", RegistrationDate = DateTime.Now, OrganizationTypeId = organizationType.Id }; applicationDb.Organizations.Add(organization); applicationDb.SaveChanges(); List <HttpPostedFileBase> files = new List <HttpPostedFileBase>(); OrganizationInfoViewModel model = new OrganizationInfoViewModel() { OrganizationId = organization.Id.ToString(), FullName = "TestCompany_04", IdentificationNumber = organization.IdentificationNumber, Address = organization.Address, Email = "*****@*****.**", Contacts = organization.Contacts, Site = organization.Site, OrganizationType = "AnotherTestType_04", UploadedFiles = files }; OrganizationManagementService sut = new OrganizationManagementService(); sut.EditOrganizationInfo(model); Organization org = applicationDb.Organizations.SingleOrDefault(p => p.Id == organization.Id); Assert.IsNotNull(org); //Assert.IsTrue(org.FullName == "TestCompany_04" && org.Email == "*****@*****.**"); }