public async Task UpdateTransactionPriorityAsync_TransactionPriorityId_FacilityId_TransactionPriorityObject_Positive_Test()
        {
            //Arrange
            Dictionary <string, string> headers = new Dictionary <string, string>();

            SiteConfiguration.API.TransactionPriority.Models.TransactionPriority objTransactionPriority = new SiteConfiguration.API.TransactionPriority.Models.TransactionPriority()
            {
                PriorityCode = "TPCodeOld", PriorityOrder = 1
            };
            _transactionPriorityRepository.Setup(x => x.GetByTransactionPriorityAndFacilityKey(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(objTransactionPriority);
            _transactionPriorityRepository.Setup(x => x.Update(It.IsAny <SiteConfiguration.API.TransactionPriority.Models.TransactionPriority>()));

            TransactionPriorityPut objTransactionPriorityPut = new TransactionPriorityPut()
            {
                PriorityOrder = 1
            };

            TransactionPriorityManager objTransactionPriorityManager = new TransactionPriorityManager(_transactionPriorityRepository.Object, _executionContextAccessor
                                                                                                      , _unitOfWork.Object, _logger.Object, _transactionPrioritySmartSortRepository.Object, _smartSortRepository.Object, _eventbus.Object
                                                                                                      , _option.Object, _mapper.Object);

            //Act
            var response = await objTransactionPriorityManager.UpdateTransactionPriorityAsync("c17b8f8c-ffbf-4edf-861e-ee48040e7ca7", objTransactionPriorityPut, new Guid("c33e0be3-ef34-4a69-9f48-3a19de0dc649"), headers);

            //Assert
            Assert.Equal(response.IsSuccesss, true);
        }
Пример #2
0
        public async Task <IActionResult> PutTransactionPriority(string tranPriorityKey, TransactionPriorityPut transactionPriorityPut)
        {
            Models.TransactionPriority objTransactionPriority = new Models.TransactionPriority();
            try
            {
                var facilityKey = RouteData.Values["facilitykey"].ToString();
                var headers     = Request.Headers.ToDictionary <KeyValuePair <string, StringValues>, string, string>(item => item.Key, item => item.Value);
                BusinessResponse objBusinessResponse = await _manager.UpdateTransactionPriorityAsync(tranPriorityKey, transactionPriorityPut, Utility.ParseStringToGuid(facilityKey), headers);

                if (objBusinessResponse.IsSuccesss)
                {
                    _logger.LogInformation(objBusinessResponse.Message);
                    return(Ok(objBusinessResponse.Message));
                }
                else
                {
                    _logger.LogInformation(objBusinessResponse.Message);
                    return(BadRequest(new ErrorResponse(objBusinessResponse.Message, (int)HttpStatusCode.BadRequest, ResponsePayloadType.BusinessException)));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(StatusCode(500));
            }
        }
Пример #3
0
        public async Task <BusinessResponse> UpdateTransactionPriorityAsync(string tranPriorityKey, TransactionPriorityPut transactionPriorityPut, Guid facilityKey, Dictionary <string, string> headers)
        {
            Models.TransactionPriority objTransactionPriority = new Models.TransactionPriority();
            objTransactionPriority = _transactionPriorityRepository.GetByTransactionPriorityAndFacilityKey(Guid.Parse(tranPriorityKey), facilityKey);

            if (objTransactionPriority != null)
            {
                objTransactionPriority.PriorityName         = transactionPriorityPut.PriorityName;
                objTransactionPriority.LegendBackColor      = transactionPriorityPut.LegendBackColor;
                objTransactionPriority.LegendForeColor      = transactionPriorityPut.LegendForeColor;
                objTransactionPriority.MaxOnHoldLength      = transactionPriorityPut.MaxOnHoldLength;
                objTransactionPriority.ForManualPickFlag    = transactionPriorityPut.ForManualPickFlag;
                objTransactionPriority.ForManualRestockFlag = transactionPriorityPut.ForManualRestockFlag;
                objTransactionPriority.ADUFlag    = transactionPriorityPut.ADUFlag;
                objTransactionPriority.ActiveFlag = transactionPriorityPut.ActiveFlag;
                objTransactionPriority.SystemFlag = transactionPriorityPut.SystemFlag;
                objTransactionPriority.UseInterfaceMedNameFlag = transactionPriorityPut.UseInterfaceMedNameFlag;
                objTransactionPriority.LastModifiedByActorKey  = Guid.NewGuid();
                objTransactionPriority.LastModifiedUTCDateTime = DateTime.UtcNow;
                if (transactionPriorityPut.PriorityOrder != objTransactionPriority.PriorityOrder)
                {
                    if (objTransactionPriority.PriorityOrder > transactionPriorityPut.PriorityOrder)
                    {
                        await _transactionPriorityRepository.UpdatePriorityOrderUpAsync(transactionPriorityPut.PriorityOrder);
                    }
                    else
                    {
                        await _transactionPriorityRepository.UpdatePriorityOrderDownAsync(transactionPriorityPut.PriorityOrder, objTransactionPriority.PriorityOrder);
                    }
                }
                objTransactionPriority.PriorityOrder = transactionPriorityPut.PriorityOrder;
                _transactionPriorityRepository.Update(objTransactionPriority);
                _unitOfWork.CommitChanges();
                SendEvent(GetTransactionPriorityById(tranPriorityKey), "Update", headers);
                return(new BusinessResponse()
                {
                    IsSuccesss = true, Message = "TransactionPriority Update."
                });
            }
            else
            {
                return(new BusinessResponse()
                {
                    IsSuccesss = false, Message = "No TransactionPriority Exist to update."
                });
            }
        }