Esempio n. 1
0
        public async Task <ServiceResponse <EntityType> > Create(AddEntityTypeRequest request)
        {
            try
            {
                var tier = new EntityType
                {
                    Code        = $"ETTP{_codeGen.GenerateRandomString(8)}",
                    Description = request.Description,
                    Name        = request.Name,
                };

                var exist = await _baseRepository.GetByIdAndCode(tier.Id, tier.Code);

                if (exist != null)
                {
                    return(new ServiceResponse <EntityType>($"An Entity Type With the Provided Code and or Id Already Exist"));
                }

                var exist2 = await _baseRepository.FindOneByConditions(x => x.Name.ToLower().Equals(tier.Name.ToLower()));

                if (exist2 != null)
                {
                    return(new ServiceResponse <EntityType>($"An Entity Type With the Provided Name Already Exist"));
                }

                await _baseRepository.Create(tier);

                return(new ServiceResponse <EntityType>(tier));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <EntityType>($"An Error Occured While Creating The Entity Type. {ex.Message}"));
            }
        }
Esempio n. 2
0
        public async Task <ServiceResponse <Country> > Create(AddCountryRequest request)
        {
            try
            {
                var checkExist = await _countryRepository.FindOneByConditions(c => c.Name.Equals(request.Name, StringComparison.OrdinalIgnoreCase));

                if (checkExist != null)
                {
                    return(new ServiceResponse <Country>($"A Country with name {request.Name} already exist."));
                }


                var country = new Country
                {
                    Code        = $"CNTRY{_codeGenerator.GenerateRandomString(7)}",
                    Name        = request.Name,
                    Description = request.Description
                };

                await _countryRepository.Create(country);

                return(new ServiceResponse <Country>(country));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <Country>($"An Error Occured While Creating a Country Resource. {ex.Message}"));
            }
        }
Esempio n. 3
0
        public async Task <ServiceResponse <Region> > Create(AddRegionRequest request)
        {
            try
            {
                var country = await _countryService.FindByIdInclusive(request.CountryId, x => x.Include(p => p.Regions));

                if (!country.Success)
                {
                    return(new ServiceResponse <Region>($"The country does not exist"));
                }

                if (country.Data.Regions.Count > 0 && country.Data.Regions.Any(x => x.Name.ToLower().Equals(request.Name.ToLower())))
                {
                    return(new ServiceResponse <Region>($"The region with name {request.Name} already exist exist"));
                }

                var region = new Region
                {
                    Code        = $"RGN{_codeGenService.GenerateRandomString(8)}",
                    CountryId   = request.CountryId,
                    Name        = request.Name,
                    Description = request.Description
                };


                await _regionRepository.Create(region);

                return(new ServiceResponse <Region>(region));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <Region>($"An Error Occured while creating a region Resource. {ex.Message}"));
            }
        }
Esempio n. 4
0
        public async Task <ServiceResponse <Catalog> > Create(AddCatalogRequest request)
        {
            try
            {
                var catalog = new Catalog
                {
                    Code          = $"CTLG{_codeGeneratorService.GenerateRandomString(8)}",
                    Description   = request.Description,
                    Name          = request.Name,
                    EffectiveDate = request.EffectiveDate,
                    EndDate       = request.EndDate,
                    EntityId      = request.EntityId,
                    Published     = request.Published
                };

                var exist = await _baseRepository.GetByIdAndCode(catalog.Id, catalog.Code);

                if (exist != null)
                {
                    return(new ServiceResponse <Catalog>($"A Catalog With the Provided Code and or Id Already Exist"));
                }

                var exist2 = await _baseRepository.FindOneByConditions(x => x.Name.ToLower().Equals(catalog.Name.ToLower()));

                if (exist2 != null)
                {
                    return(new ServiceResponse <Catalog>($"A Catalog With the Provided Name Already Exist"));
                }

                await _baseRepository.Create(catalog);

                return(new ServiceResponse <Catalog>(catalog));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <Catalog>($"An Error Occured While Creating the Catalog. {ex.Message}"));
            }
        }
Esempio n. 5
0
        public async Task <ServiceResponse <Supplier> > Create(AddSuplierRequest request)
        {
            try
            {
                var supplier = await _supplierRepository.FindOneByConditions(x => x.Name.Equals(request.Name, StringComparison.OrdinalIgnoreCase));

                if (supplier != null)
                {
                    return(new ServiceResponse <Supplier>($"The Supplier with name {request.Name} already exist"));
                }

                var now         = DateTime.Now;
                var newSupplier = new Supplier
                {
                    Name               = request.Name,
                    Description        = request.Description,
                    DateOfRegistration = request.DateOfRegistration,
                    LicenceNumber      = request.LicenceNumber,
                    RegistrationNumber = request.RegistrationNumber,
                    Code               = $"ANCHR{_codeGeneratorService.GenerateRandomString(8)}",
                    EntityStatus       = Core.Utilities.EntityStatus.ACTIVE,
                    EntityTypeId       = request.EntityTypeId,
                    TierId             = request.TierId
                };

                var address = new Address
                {
                    Code         = $"ADDR{_codeGeneratorService.GenerateRandomString(8)}",
                    City         = request.City,
                    RegionId     = request.RegionId,
                    EmailAddress = request.AddressEmail,
                    PhoneNumber  = request.AddressPhone,
                    BaseEntityId = newSupplier.Id
                };

                var contactPerson = new ContactPerson
                {
                    FirstName    = request.FirstName,
                    LastName     = request.LastName,
                    ContactPhone = request.ContactPhone,
                    ContactEmail = request.ContactEmail,
                    Code         = $"CNTP{_codeGeneratorService.GenerateRandomString(8)}",
                    BaseEntityId = newSupplier.Id
                };

                var setting = new Setting
                {
                    Code        = $"STNG{_codeGeneratorService.GenerateRandomString(8)}",
                    Name        = request.SettingName,
                    Description = request.SettingDescription,
                    PurchaseOrderAutoApproval = request.PurchaseOrderAutoApproval,
                    SaleOrderAutoApproval     = request.SaleOrderAutoApproval,
                    BaseEntityId = newSupplier.Id
                };

                newSupplier.Address = address;
                //newSupplier.AddressId = address.Id;
                newSupplier.ContactPerson = contactPerson;
                //newSupplier.ContactPersonId = contactPerson.Id;
                newSupplier.Setting = setting;
                //newSupplier.SettingId = setting.Id;


                await _supplierRepository.Create(newSupplier);

                return(new ServiceResponse <Supplier>(newSupplier));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <Supplier>($"An Error Occured While Creating The Anchor Resource. {ex.Message}"));
            }
        }