public DetailedUpsellSubmissionDto(UpsellSubmissionDto record, IEnumerable<UpsellProductChangeDto> products, IEnumerable<UpsellNoteDto> notes, IEnumerable<UpsellAuditDto> auditTrail)
 {
     RecordId = record.RecordId;
     SubscriberId = record.SubscriberId;
     SubscriberName = record.SubscriberName;
     SubscriberAddress = record.SubscriberAddress;
     TelephoneNumber = record.TelephoneNumber;
     SubmittedBy = record.SubmittedBy;
     AuthorizedBy = record.AuthorizedBy;
     SubmissionDateOffset = record.SubmissionDateOffset;
     Status = record.Status;
     LastTouchedBy = record.LastTouchedBy;
     LastTouchedAt = record.LastTouchedAt;
     BillingOrderNumber = record.BillingOrderNumber;
     Products = products;
     Notes = notes;
     AuditTrail = auditTrail;
 }
Esempio n. 2
0
        private UpsellAddRecordResult GetRecordResult(int newRecordId,UpsellSubmissionDto submittedRecord,string submittedDate, 
            List<UpsellSubmittedProduct> submittedProducts)
        {
            var newRecord = new UpsellSubmittedOrder()
            {
                SimpleId = newRecordId,
                SubscriberId = submittedRecord.SubscriberId,
                SubscriberName = submittedRecord.SubscriberName,
                TelephoneNumber = submittedRecord.TelephoneNumber,
                SubmittedBy = submittedRecord.SubmittedBy,
                SubmissionDate = submittedDate,
                StatusDescription = UpsellStatus.New.ToString(),
                AuthorizedBy = submittedRecord.AuthorizedBy,
                AccountType = submittedRecord.AccountType.ToUpsellAccountType(),
            };

            return   new UpsellAddRecordResult()
            {
                UpsellNewRecord = newRecord,
                UpsellNewlyAddedProducts = submittedProducts
            };
        }
Esempio n. 3
0
        public UpsellAddRecordResult AddRecord(UpsellSubmissionDto submission, IEnumerable<UpsellProductChangeDto> products)
        {
            // insert UpsellProducts entries
            var offlineProducts = new List<UpsellSubmittedProduct>();
            DateTimeOffset submissionDate = new DateTimeOffset(DateTime.Now);
            int newId;

            using (var db = new UpsellEntities())
            {
                var address = submission.SubscriberAddress;
                var newRecord = new UpsellSubmission
                {
                    subscriber_id = submission.SubscriberId,
                    subscriber_name = submission.SubscriberName,
                    subscriber_address1 = address.Address1,
                    subscriber_address2 = address.Address2,
                    subscriber_city = address.City,
                    subscriber_state = address.State,
                    subscriber_zipcode = address.Zip,
                    telephone_number = submission.TelephoneNumber,
                    submitted_by = submission.SubmittedBy,
                    authorized_by = submission.AuthorizedBy,
                    submission_date = submissionDate,
                    upsell_status = (int) UpsellStatus.New,
                    last_touched_by = string.Empty,
                    last_touched_at = null,
                    account_type = (int)submission.AccountType
                };

                // insert UpsellSubmissions entry
                db.UpsellSubmissions.AddObject(newRecord);
                db.SaveChanges();

                newId = newRecord.id;

                foreach (var product in products)
                {
                    var newProduct = new  UpsellProductChanges
                    {
                        upsell_id = newRecord.id,
                        product_name = product.Name,
                        product_description = product.Description,
                        product_action = product.Action.GetStringValue()
                    };
                    db.UpsellProductChanges.AddObject(newProduct);
                    db.SaveChanges();

                    //prepare products for offline submission as well.
                    //Capturing here since we need product id for further processing
                    offlineProducts.Add(new UpsellSubmittedProduct
                    {
                        ProductId = newProduct.id,
                        ProductName = product.Name,
                        ProductDescription = product.Description,
                        productAction = product.Action.GetStringValue()
                    });
                }

            }

            return GetRecordResult(newId, submission, submissionDate.ToString(), offlineProducts);
        }