public async Task <ResultBM <ManufacturerLogoBM, GetManufacturerLogoExplanation> > GetLogoAsync(ManufacturerIdBM id) { ManufacturerLogoBM result; try { var data = await dbContext.Manufacturer.ProjectTo <PManufacturerCompanyLogo>(mapper.ConfigurationProvider).SingleAsync(x => x.Id == id.Value); if (data.CompanyLogo == null) { return(new FailureResultBM <ManufacturerLogoBM, GetManufacturerLogoExplanation>(GetManufacturerLogoExplanation.ManufacturerLogoNotExists)); } result = new ManufacturerLogoBM(data.CompanyLogo, data.CompanyLogoMimetype); } catch (InvalidOperationException) { return(new FailureResultBM <ManufacturerLogoBM, GetManufacturerLogoExplanation>(GetManufacturerLogoExplanation.ManufacturerNotExists)); } catch (Exception) { return(new FailureResultBM <ManufacturerLogoBM, GetManufacturerLogoExplanation>(GetManufacturerLogoExplanation.DatabaseError)); } return(new SuccessfulResultBM <ManufacturerLogoBM, GetManufacturerLogoExplanation>(result)); }
public Task <ResultBM <ManufacturerBM, AddManufacturerExplanation> > AddManufacturerAsync(string name, ManufacturerLocationBM location, Uri website = null, ManufacturerLogoBM logo = null) { ManufacturerBM manufacturer = new ManufacturerBM( manufacturerId: default,