コード例 #1
0
        /// <summary>
        /// Gets the plan detail by plan gu identifier.
        /// </summary>
        /// <param name="planGuId">The plan gu identifier.</param>
        /// <returns> Plans.</returns>
        public PlansModel GetPlanDetailByPlanGuId(Guid planGuId)
        {
            var existingPlan   = this.plansRepository.GetByInternalReference(planGuId);
            var planAttributes = this.plansRepository.GetPlanAttributes(planGuId, existingPlan.OfferId);
            var planEvents     = this.plansRepository.GetEventsByPlan(planGuId, existingPlan.OfferId);
            var offerDetails   = this.offerRepository.GetOfferById(existingPlan.OfferId);

            PlansModel plan = new PlansModel
            {
                Id     = existingPlan.Id,
                PlanId = existingPlan.PlanId,
                IsmeteringSupported = existingPlan.IsmeteringSupported,
                OfferID             = existingPlan.OfferId,
                DisplayName         = existingPlan.DisplayName,
                Description         = existingPlan.Description,
                PlanGUID            = existingPlan.PlanGuid,
                OfferName           = offerDetails.OfferName,
            };

            plan.PlanAttributes = new List <PlanAttributesModel>();

            foreach (var attribute in planAttributes)
            {
                PlanAttributesModel planAttributesmodel = new PlanAttributesModel()
                {
                    OfferAttributeId = attribute.OfferAttributeId,
                    PlanAttributeId  = attribute.PlanAttributeId,
                    PlanId           = existingPlan.PlanGuid,
                    DisplayName      = attribute.DisplayName,
                    IsEnabled        = attribute.IsEnabled,
                    Type             = attribute.Type,
                };
                plan.PlanAttributes.Add(planAttributesmodel);
            }

            plan.PlanEvents = new List <PlanEventsModel>();

            foreach (var events in planEvents)
            {
                PlanEventsModel planEventsModel = new PlanEventsModel()
                {
                    Id                 = events.Id,
                    PlanId             = events.PlanId,
                    Isactive           = events.Isactive,
                    SuccessStateEmails = events.SuccessStateEmails,
                    FailureStateEmails = events.FailureStateEmails,
                    EventName          = events.EventsName,
                    EventId            = events.EventId,
                    CopyToCustomer     = events.CopyToCustomer,
                };
                plan.PlanEvents.Add(planEventsModel);
            }

            return(plan);
        }
コード例 #2
0
        /// <summary>
        /// Saves the plan events.
        /// </summary>
        /// <param name="planEvents">The plan events.</param>
        /// <returns> plan Events Id.</returns>
        public int?SavePlanEvents(PlanEventsModel planEvents)
        {
            if (planEvents != null)
            {
                PlanEventsMapping events = new PlanEventsMapping();
                events.Id                 = planEvents.Id;
                events.Isactive           = planEvents.Isactive;
                events.PlanId             = planEvents.PlanId;
                events.SuccessStateEmails = planEvents.SuccessStateEmails;
                events.FailureStateEmails = planEvents.FailureStateEmails;
                events.EventId            = planEvents.EventId;
                events.UserId             = planEvents.UserId;
                events.CreateDate         = DateTime.Now;
                events.CopyToCustomer     = planEvents.CopyToCustomer;
                var planEventsId = this.plansRepository.AddPlanEvents(events);
                return(planEventsId);
            }

            return(null);
        }
コード例 #3
0
        /// <summary>
        /// Gets the events by plan.
        /// </summary>
        /// <param name="planGuId">The plan gu identifier.</param>
        /// <param name="offerId">The offer identifier.</param>
        /// <returns> Plan Events Model.</returns>
        public IEnumerable <PlanEventsModel> GetEventsByPlan(Guid planGuId, Guid offerId)
        {
            try
            {
                var allEvents = this.context.PlanEventsOutPut.FromSqlRaw("dbo.spGetPlanEvents {0}", planGuId).ToList();

                List <PlanEventsModel> eventsList = new List <PlanEventsModel>();

                if (allEvents != null && allEvents.Count() > 0)
                {
                    foreach (var events in allEvents)
                    {
                        PlanEventsModel planEvent = new PlanEventsModel();
                        planEvent.Id                 = events.Id;
                        planEvent.PlanId             = events.PlanId;
                        planEvent.Isactive           = events.Isactive;
                        planEvent.SuccessStateEmails = events.SuccessStateEmails;
                        planEvent.FailureStateEmails = events.FailureStateEmails;
                        planEvent.EventsName         = events.EventsName;
                        planEvent.EventId            = events.EventId;
                        planEvent.CopyToCustomer     = events.CopyToCustomer ?? false;
                        if (planEvent.EventsName != "Pending Activation")
                        {
                            eventsList.Add(planEvent);
                        }
                        else if (!Convert.ToBoolean(this.applicationConfigRepository.GetValueByName("IsAutomaticProvisioningSupported")))
                        {
                            eventsList.Add(planEvent);
                        }
                    }
                }

                return(eventsList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }