public IList <string> GetSsccNumbers(int retailerChainId = -1)
        {
            log.Info(string.Format(LogMessages.RequestMethod, RequestContext.Principal.Identity.Name, $"sscc\\Get?retailerchainId={retailerChainId}"));
            UserRepository userRepository = new UserRepository();
            var            request        = new SSCCListRequest
            {
                SsccStatusNew       = true,
                SsccStatusProcessed = true,
                SsccStatusValidated = true,
                ValidationOpen      = true,
                ValidationExceeded  = true,
                ValidationPassed    = true,
                CountingOK          = true,
                CountingNOK         = true,
                SlaOK           = true,
                SlaNOK          = true,
                RetailerChainId = retailerChainId,
                OrderNr         = null
            };

            //For customer show only validated SSCCs
            if (userRepository.IsExternalUser(RequestContext.Principal.Identity.Name))
            {
                request.SsccStatusNew       = false;
                request.SsccStatusProcessed = false;
                request.SsccStatusValidated = true;
            }
            return(_ssccListRepository.GetSSCCNumberList(request, RequestContext.Principal.Identity.Name).Select(x => x.SSCC).Distinct().ToList());
        }
Esempio n. 2
0
        public int GetApprovedSSCCsCount(string userEmail, int retailerChainId)
        {
            var request = new SSCCListRequest
            {
                SsccStatusNew       = true,
                SsccStatusProcessed = true,
                SsccStatusValidated = true,
                ValidationOpen      = true,
                ValidationExceeded  = true,
                ValidationPassed    = true,
                CountingOK          = true,
                CountingNOK         = true,
                SlaOK           = true,
                SlaNOK          = true,
                RetailerChainId = retailerChainId,
                OrderNr         = null
            };

            //Return count of validated SSCCs
            return(GetSSCCNumberList(request, userEmail).Where(s => s.SSCC_STATUS == 3).Count());
        }
Esempio n. 3
0
        //to get search result
        public IEnumerable <API_SSCC_OVERVIEW_Result> GetSSCCList(SSCCListRequest request, string userEmail)
        {
            if (string.IsNullOrEmpty(request.ActorID) && string.IsNullOrEmpty(request.ActorOriginId))
            {
                UserRepository userRepository = new UserRepository();
                //Fetch actors assigned to the user
                List <int> actorIdList = userRepository.GetActorIdList(userEmail);
                request.ActorOriginId = string.Join(",", actorIdList.Select(n => n).ToArray());
            }

            using (var dbEntity = new BACKUP_SRL_20180613Entities())
            {
                dbEntity.Configuration.ProxyCreationEnabled = false;
                List <API_SSCC_OVERVIEW_Result> result = dbEntity.API_SSCC_OVERVIEW(
                    request.ActorID,
                    request.ActorOriginId,
                    request.SsccStatusNew,
                    request.SsccStatusProcessed,
                    request.SsccStatusValidated,
                    request.SsccDateFrom,
                    request.SsccDateTo,
                    request.CiDateFrom,
                    request.CiDateTo,
                    request.ValidationOpen,
                    request.ValidationExceeded,
                    request.ValidationPassed,
                    request.SsccNr,
                    request.OrderNr,
                    request.CountingOK,
                    request.CountingNOK,
                    request.SlaOK,
                    request.SlaNOK,
                    request.RetailerChainId,
                    request.ShipmentNumber)
                                                         .Take(1000)
                                                         .ToList <API_SSCC_OVERVIEW_Result>();

                return(result);
            }
        }
        public CheckYourToday FetchSSCCOrderCounts()
        {
            string loggedInUser = RequestContext.Principal.Identity.Name;

            log.Info(string.Format(LogMessages.RequestMethod, loggedInUser, "sscc\\FetchSSCCOrderCounts"));

            SSCCListRequest request = new SSCCListRequest()
            {
                RetailerChainId     = -1,
                SsccStatusNew       = true,
                SsccStatusProcessed = true,
                SsccStatusValidated = false,
                ValidationOpen      = true,
                ValidationExceeded  = true,
                ValidationPassed    = true,
                SlaOK       = true,
                SlaNOK      = true,
                CountingOK  = true,
                CountingNOK = true,
                OrderNr     = null
            };

            return(_ssccListRepository.GetSSCCList(request, loggedInUser).ToList().GetCheckYourToday());
        }
        public IList <SSCCListModel> Index(
            [FromBody] SSCCListRequest request
            )
        {
            log.Info(string.Format(LogMessages.RequestMethod, RequestContext.Principal.Identity.Name, "sscc\\filter"));
            if (request == null)
            {
                throw new ArgumentNullException(nameof(SSCCListRequest), "Request is not valid.");
            }

            //Block filtering SSCC list based on SSCC status and validation deadline for customer/external user
            UserRepository userRepository = new UserRepository();

            if (userRepository.IsExternalUser(RequestContext.Principal.Identity.Name))
            {
                //For customer show only validated SSCCs
                request.SsccStatusNew       = false;
                request.SsccStatusProcessed = false;
                request.SsccStatusValidated = true;

                //For customer do not apply validation deadline filter
                request.ValidationOpen     = true;
                request.ValidationExceeded = true;
                request.ValidationPassed   = true;
            }
            else
            {
                // Filter functionality checkbox groups: Select none = See all
                if (!request.SsccStatusNew && !request.SsccStatusProcessed && !request.SsccStatusValidated)
                {
                    request.SsccStatusNew       = true;
                    request.SsccStatusProcessed = true;
                    request.SsccStatusValidated = true;
                }

                if (!request.ValidationOpen && !request.ValidationExceeded && !request.ValidationPassed)
                {
                    request.ValidationOpen     = true;
                    request.ValidationExceeded = true;
                    request.ValidationPassed   = true;
                }
            }

            if (!request.CountingOK && !request.CountingNOK)
            {
                request.CountingOK  = true;
                request.CountingNOK = true;
            }

            if (!request.SlaOK && !request.SlaNOK)
            {
                request.SlaOK  = true;
                request.SlaNOK = true;
            }

            // Filter functionality Dates: If date from is not null and date to is null, get only selected date.
            if (request.SsccDateFrom != null && request.SsccDateTo == null)
            {
                // request.SsccDateFrom = new DateTime(request.SsccDateFrom.Value.Day, request.SsccDateFrom.Value.Month, request.SsccDateFrom.Value.Year);
                request.SsccDateTo = request.SsccDateFrom.Value.AddDays(1);
            }
            if (request.CiDateFrom != null && request.CiDateTo == null)
            {
                request.CiDateTo = request.CiDateFrom.Value.AddDays(1);
            }

            var response = SSCCListAdapter.ConvertSsccList(_ssccListRepository.GetSSCCList(request, RequestContext.Principal.Identity.Name));

            return(response);
        }