예제 #1
0
        public IActionResult Post([FromBody] PBOnDemandViewModel viewModel)
        {
            try
            {
                if (viewModel == null)
                {
                    return(BadRequest());
                }

                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                PBOnDemand item = Mapper.Map <PBOnDemand>(viewModel);
                item.CreatedDate     = DateTime.Now;
                item.LastUpdatedDate = DateTime.Now;
                item.IsActive        = true;

                _pbOnDemandRepository.Add(item);
                int save = _pbOnDemandRepository.Save();

                if (save > 0)
                {
                    return(CreatedAtRoute("GetById", new { controller = "PBOnDemand", id = item.Id }, item));
                }

                return(BadRequest());
            }
            catch (Exception exception)
            {
                //Do something with the exception
                return(StatusCode((int)HttpStatusCode.InternalServerError));
            }
        }
        private void SaveAllPBNumbers(string numbers, string address, string msisdnNumber, string pbNumbers, BDAppsRepository bdapps)
        {
            PBOnDemand pbOnDemandToUpdate = PBOnDemandRepository.GetAll().FirstOrDefault(oItem => oItem.MSISDN == msisdnNumber && oItem.Keyword == _configurationHelper.SmsKeyword);
            if (pbOnDemandToUpdate != null)
            {
                string concatePBNumbers = pbOnDemandToUpdate.PBNo + "," + pbNumbers;
                pbOnDemandToUpdate.PBNo = concatePBNumbers.Split(',').Distinct().Aggregate((a, b) => a.Trim() + "," + b.Trim()).ToString();

                pbOnDemandToUpdate.LastUpdatedDate = DateTime.Now;
                PBOnDemandRepository.Update(pbOnDemandToUpdate);
                PBOnDemandRepository.Save();
            }
            else
            {
                PBOnDemand pbOnDemand = new PBOnDemand();
                pbOnDemand.MSISDN = msisdnNumber;
                pbOnDemand.Keyword = numbers.Substring(0, 3).ToUpper().Trim();
                pbOnDemand.PBNo = pbNumbers;
                pbOnDemand.CreatedBy = pbOnDemand.MSISDN;
                pbOnDemand.LastUpdatedBy = pbOnDemand.MSISDN;
                pbOnDemand.PrizeDate = DateTime.Now;
                pbOnDemand.CreatedDate = DateTime.Now;
                pbOnDemand.LastUpdatedDate = DateTime.Now;
                pbOnDemand.IsActive = true;
                pbOnDemand.IsActiveSubscription = bdapps.IsActiveSubscriber(address);
                PBOnDemandRepository.Add(pbOnDemand);
                PBOnDemandRepository.Save();
            }
        }
예제 #3
0
        private void UpdateSubscription(string address, bool activate)
        {
            string MSISDN = address.Split(':').LastOrDefault();

            List <PBOnDemand> userOnDemandList = _pbOnDemandRepository.GetAll().Where(oItem => oItem.MSISDN == MSISDN).ToList();

            userOnDemandList.ForEach(oItem => { oItem.IsActiveSubscription = activate; oItem.LastUpdatedDate = DateTime.Now; });
            _pbOnDemandRepository.Save();
        }