示例#1
0
        public async Task <IActionResult> GetInvitedSuppliersForInvitationAfterTenderApprovementAsync(SupplierSearchCretriaModel supplierSearchCretria)
        {
            try
            {
                var suppliers = await _ApiClient.GetQueryResultAsync <SupplierInvitationModel>("Invitation/GetInvitedSuppliersForInvitationAfterTenderApprovement", supplierSearchCretria.ToDictionary());

                return(Json(new PaginationModel(suppliers.Items, suppliers.TotalCount, _pageSize, suppliers.PageNumber, null)));
            }
            catch (BusinessRuleException ex)
            {
                AddError(ex.Message);
                return(NotFound());
            }
            catch (AuthorizationException ex)
            { throw ex; }
            catch
            {
                AddError(Resources.TenderResources.ErrorMessages.UnexpectedError); return(NotFound());
            }
        }
示例#2
0
        public async Task <QueryResult <InvitationCrModel> > GetInvitedUnRegisterSuppliersForCreation(SupplierSearchCretriaModel cretria)
        {
            var suppliers = await _supplierQueries.GetInvitedUnRegisterSuppliersForCreation(cretria);

            return(suppliers);
        }
示例#3
0
        public async Task <IActionResult> GetMobileNumbersForUnregisteredSuppliersAsync(SupplierSearchCretriaModel supplierSearchCretria)
        {
            try
            {
                var suppliers = await _ApiClient.GetQueryResultAsync <string>("Invitation/GetMobileNumbersForUnregisteredSuppliers", supplierSearchCretria.ToDictionary());

                return(Json(new PaginationModel(suppliers.Items, suppliers.TotalCount, 100, 1, null)));
            }
            catch (AuthorizationException ex)
            {
                throw ex;
            }
            catch (BusinessRuleException ex)
            {
                return(JsonErrorMessage(ex.Message));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString(), ex);
                return(JsonErrorMessage(Resources.TenderResources.ErrorMessages.UnexpectedError));
            }
        }
示例#4
0
        public async Task <QueryResult <SupplierInvitationModel> > GetAllSuppliersBySearchCretriaForInvitations(SupplierSearchCretriaModel cretria)
        {
            var suppliers = await _supplierQueries.GetAllSuppliersBySearchCretriaForInvitations(cretria);

            return(suppliers);
        }
示例#5
0
 public async Task <QueryResult <SupplierInvitationModel> > GetInvitedSuppliersForInvitationAfterTenderApprovement(SupplierSearchCretriaModel cretria)
 {
     return(await _supplierQueries.GetInvitedSuppliersForInvitationAfterTenderApprovement(cretria));
 }
示例#6
0
        public async Task <QueryResult <SupplierCombinedModelView> > GetAllSuppliersBySearchCretriaForCombined(SupplierSearchCretriaModel cretria, string CR)
        {
            var suppliers = await _supplierQueries.GetAllSuppliersBySearchCretriaForCombinedQuery(cretria, CR);

            return(suppliers);
        }
示例#7
0
        public async Task <QueryResult <string> > GetMobileForUnregisteredSuppliers(SupplierSearchCretriaModel cretria)
        {
            var suppliers = await _supplierQueries.GetMobileForUnregisteredSuppliers(cretria);

            return(suppliers);
        }
示例#8
0
        public async Task <bool> AddSupplierToFavouriteList(SupplierSearchCretriaModel cretria)
        {
            Check.ArgumentNotNullOrEmpty(nameof(cretria.FavouriteSupplierListId), cretria.FavouriteSupplierListId.ToString());
            Check.ArgumentNotNullOrEmpty(nameof(cretria.CommericalRegisterNo), cretria.CommericalRegisterNo.ToString());

            var supplier = await _supplierQueries.FindSupplierByCRNumber(cretria.CommericalRegisterNo);

            var favouriteSuppliers = (await _supplierQueries.GetFavouriteSuppliersByListId(new SupplierSearchCretriaModel()
            {
                OnlyActive = false,
                FavouriteSupplierListId = cretria.FavouriteSupplierListId,
                PageSize = int.MaxValue,
                AgencyCode = cretria.AgencyCode
            })).Items;

            if (favouriteSuppliers.Any(s => s.CommericalRegisterNo == cretria.CommericalRegisterNo))
            {
                var favouriteSupplier = await _supplierQueries.FindFavouriteSupplierByListId(new SupplierSearchCretriaModel
                {
                    FavouriteSupplierListId = cretria.FavouriteSupplierListId,
                    CommericalRegisterNo    = cretria.CommericalRegisterNo
                });

                if (favouriteSuppliers.Any(s => s.CommericalRegisterName == cretria.CommericalRegisterName && s.CommericalRegisterNo == cretria.CommericalRegisterNo) && favouriteSupplier.IsActive == true)
                {
                    throw new BusinessRuleException(Resources.TenderResources.ErrorMessages.FavouriteListHasSupplierExist);
                }

                if (favouriteSupplier.FavouriteSupplierList.AgencyCode != cretria.AgencyCode)
                {
                    throw new BusinessRuleException(Resources.TenderResources.ErrorMessages.FavouriteListNotForAgency);
                }

                if (favouriteSupplier.FavouriteSupplierList.BranchId != cretria.BranchId)
                {
                    throw new BusinessRuleException(Resources.TenderResources.ErrorMessages.FavouriteListNotForBranch);
                }

                supplier.Update(cretria.CommericalRegisterNo, cretria.CommericalRegisterName);
                await _supplierCommands.UpdateSupplierAsync(supplier);

                favouriteSupplier.SetActive();
                await _supplierCommands.UpdateTenderFavouriteSupplierAsync(favouriteSupplier);

                return(true);
            }
            if (supplier != null)
            {
                var result = new FavouriteSupplier(supplier.SelectedCr, cretria.FavouriteSupplierListId.Value);
                await _supplierCommands.CreateTenderFavouriteAsync(result);

                return(true);
            }
            else
            {
                await _supplierCommands.CreateSupplierAsync(new Supplier(cretria.CommericalRegisterNo, cretria.CommericalRegisterName, await _notificationAppService.GetDefaultSettingByCr()));

                var result = new FavouriteSupplier(cretria.CommericalRegisterNo, cretria.FavouriteSupplierListId.Value);
                await _supplierCommands.CreateTenderFavouriteAsync(result);

                return(true);
            }
        }
示例#9
0
        public async Task <QueryResult <SupplierInvitationModel> > GetFavouriteSuppliersByListId(SupplierSearchCretriaModel cretria)
        {
            cretria.OnlyActive = true;
            var suppliers = await _supplierQueries.GetFavouriteSuppliersByListId(cretria);

            return(suppliers);
        }
示例#10
0
        public async Task <QueryResult <SupplierModel> > GetSuppliersBySearchCretria(SupplierSearchCretriaModel cretria)
        {
            var suppliers = await _iidmService.GetSupplierDetailsBySearchCriteria(_mapper.Map <SupplierIntegrationSearchCriteria>(cretria));

            return(_mapper.Map <QueryResult <SupplierModel> >(suppliers));
        }
示例#11
0
        public async Task <QueryResult <InvitationCrModel> > GetAllSuppliersBySearchCretriaForInvitation(SupplierSearchCretriaModel cretria)
        {
            Tender tender = await _supplierQueries.GetTenderByTenderId(cretria.InvitationTenderId);

            QueryResult <SupplierIntegrationModel> suppliers = await _iidmService.GetSupplierDetailsBySearchCriteria(_mapper.Map <SupplierIntegrationSearchCriteria>(cretria));


            bool isBlocked = await _blockAppService.CheckifSupplierBlockedByCrNo(cretria.CommericalRegisterNo, cretria.AgencyCode);

            List <InvitationCrModel> suppliersInvitation = suppliers.Items.Select(supplier => new InvitationCrModel()
            {
                CrName    = supplier.supplierName,
                CrNumber  = supplier.supplierNumber,
                TenderId  = tender.TenderId,
                IsBlocked = isBlocked,
                IsOwner   = supplier.supplierNumber == tender.AgencyCode ? true : false
            }).ToList();

            QueryResult <InvitationCrModel> suppliersList = suppliersInvitation != null ? new QueryResult <InvitationCrModel>(suppliersInvitation, suppliers.TotalCount, suppliers.PageNumber, suppliers.PageSize) : new QueryResult <InvitationCrModel>(new List <InvitationCrModel>(), 0, 1, 1);
            await _supplierQueries.GetInvitatedSupplier(cretria, suppliersList.Items.ToList());

            return(suppliersList);
        }
示例#12
0
        public static async Task <QueryResult <SupplierModel> > GetAllSuppliers(SupplierSearchCretriaModel model)
        {
            var blockList = JsonConvert.DeserializeObject <QueryResult <SupplierModel> >(await blockRequest.GetAsync("Block/GetAllSuppliers?" + UrlHelper.ToQueryString(model)));

            return(blockList);
        }