public IHttpActionResult PutBusinessAddress(int id, BusinessAddress businessAddress)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != businessAddress.BusinessAddressID)
            {
                return(BadRequest());
            }

            try
            {
                db.UpdateBusinessAddress(id, businessAddress);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BusinessAddressExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #2
0
        public BusinessAddress CreateBusinessAddress(BusinessAddress address)
        {
            address.Id = Guid.NewGuid();
            var createBusinessAddress = Context.Add(address);

            return(createBusinessAddress.Entity);
        }
        public BusinessAddress CreateBusinessAddress(BusinessAddress businessAddress)
        {
            db.BusinessAddresses.Add(businessAddress);
            db.SaveChanges();

            return(businessAddress);
        }
Пример #4
0
 /// <summary>
 /// Invoked when <see cref="ToDTO"/> operation is about to return.
 /// </summary>
 /// <param name="dto"><see cref="BusinessAddressDTO"/> converted from <see cref="BusinessAddress"/>.</param>
 static partial void OnDTO(this BusinessAddress entity, BusinessAddressDTO dto)
 {
     if (entity != null && entity.Address != null)
     {
         dto.Addres = AddressAssembler.ToDTO(entity.Address);
     }
 }
Пример #5
0
        public BusinessAddress Create(BusinessAddress oBusinessAddress)
        {
            if (oBusinessAddress != null)
            {
                return(oBusinessAddressesRepo.CreateBusinessAddress(oBusinessAddress));
            }

            return(null);
        }
Пример #6
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            BusinessAddress businessAddress = await _db.BusinessAddresses.FindAsync(id);

            _db.BusinessAddresses.Remove(businessAddress);
            await _db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Пример #7
0
        public BusinessAddressDTO Get(int businessAddressID)
        {
            BusinessAddressDTO oBusinessAddressDTO = null;

            if (businessAddressID > 0)
            {
                BusinessAddress oBusinessAddress = oBusinessAddressesRepo.GetBusinessAddress(businessAddressID);
            }

            return(oBusinessAddressDTO);
        }
        public IHttpActionResult GetBusinessAddress(int id)
        {
            BusinessAddress businessAddress = db.GetBusinessAddress(id);

            if (businessAddress == null)
            {
                return(NotFound());
            }

            return(Ok(businessAddress));
        }
        public IHttpActionResult PostBusinessAddress(BusinessAddress businessAddress)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.CreateBusinessAddress(businessAddress);

            return(CreatedAtRoute("DefaultApi", new { id = businessAddress.BusinessAddressID }, businessAddress));
        }
        public void UpdateBusinessAddress(int id, BusinessAddress businessAddress)
        {
            db.Entry(businessAddress).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }
        }
Пример #11
0
        public IHttpActionResult DeleteBusinessAddress(int id)
        {
            BusinessAddress businessAddress = db.BusinessAddresses.Find(id);

            if (businessAddress == null)
            {
                return(NotFound());
            }

            db.BusinessAddresses.Remove(businessAddress);
            db.SaveChanges();

            return(Ok(businessAddress));
        }
        public BusinessAddress DeleteBusinessAddress(int id)
        {
            BusinessAddress businessAddress = db.BusinessAddresses.Find(id);

            if (businessAddress == null)
            {
                return(null);
            }

            db.BusinessAddresses.Remove(businessAddress);
            db.SaveChanges();

            return(businessAddress);
        }
Пример #13
0
        public async Task <ActionResult> Edit([Bind(Include = "BusinessAddressId,MerchantId,AddressType,BuildingNo,StreetName,TownName,StateName")] BusinessAddress businessAddress)
        {
            if (ModelState.IsValid)
            {
                _db.Entry(businessAddress).State = EntityState.Modified;
                await _db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            var userId = User.Identity.GetUserId();

            ViewBag.MerchantId = new SelectList(_db.Merchants.AsNoTracking()
                                                .Where(x => merchantId.Equals(userId)), "MerchantId", "FullName", businessAddress.MerchantId); return(View(businessAddress));
        }
Пример #14
0
        // GET: BusinessAddresses/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BusinessAddress businessAddress = await _db.BusinessAddresses.FindAsync(id);

            if (businessAddress == null)
            {
                return(HttpNotFound());
            }
            return(View(businessAddress));
        }
Пример #15
0
        private BusinessAddress getBusinessAddress()
        {
            var result = new BusinessAddress();

            var s = ConfigurationManager.GetSection("businessAddress");

            //result.Name = ConfigurationManager.AppSettings.Get("BusinessAddressName");
            //result.AddressLine1 = ConfigurationManager.AppSettings.Get("BusinessAddressAddressLine1");
            //result.AddressLine2 = ConfigurationManager.AppSettings.Get("BusinessAddressAddressLine2");
            //result.City = ConfigurationManager.AppSettings.Get("BusinessAddressCity");
            //result.Email = ConfigurationManager.AppSettings.Get("BusinessAddressEmail");
            //result.PostalCode = ConfigurationManager.AppSettings.Get("BusinessAddressPostalCode");
            //result.State = ConfigurationManager.AppSettings.Get("BusinessAddressState");

            return(result);
        }
Пример #16
0
        public async Task <ActionResult> Create(BusinessAddress businessAddress)
        {
            if (ModelState.IsValid)
            {
                _db.BusinessAddresses.Add(businessAddress);
                await _db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            var userId = User.Identity.GetUserId();

            ViewBag.MerchantId = new SelectList(_db.Merchants.AsNoTracking()
                                                .Where(x => merchantId.Equals(userId)), "MerchantId", "FullName", businessAddress.MerchantId);
            return(View(businessAddress));
        }
Пример #17
0
        // GET: BusinessAddresses/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BusinessAddress businessAddress = await _db.BusinessAddresses.FindAsync(id);

            if (businessAddress == null)
            {
                return(HttpNotFound());
            }
            var userId = User.Identity.GetUserId();

            ViewBag.MerchantId = new SelectList(_db.Merchants.AsNoTracking()
                                                .Where(x => merchantId.Equals(userId)), "MerchantId", "FullName", businessAddress.MerchantId);
            return(View(businessAddress));
        }
Пример #18
0
 //create new business
 public void CreateBusinessApplication()
 {
     //call home page to enter inside setting window
     Thread.Sleep(500);
     BusinessCreate.ClickOn();
     softAssert.VerifyElementIsPresent(BusinessName);
     //    BusinessName.EnterClearText("1", "name test");
     BusinessSavebutton.ClickOn();
     softAssert.VerifyElementIsPresent(BusinessEmail);
     BusinessName.EnterClearText(Constant.businessName);
     BusinessPractinerNum.EnterClearText(Constant.businessNum);
     BusinessAddress.EnterClearText(Constant.businessAddress);
     BusinessCity.EnterClearText(Constant.businessCity);
     BusinessPhone.EnterClearText(Constant.businessNum);
     BusinessEmail.EnterClearText(Constant.businessEmail);
     BusinessSavebutton.ClickOn();
     softAssert.VerifySuccessMsg();
 }
        /// <summary>
        /// Converts this instance of <see cref="BusinessAddress"/> to an instance of <see cref="BusinessAddressDTO"/>.
        /// </summary>
        /// <param name="entity"><see cref="BusinessAddress"/> to convert.</param>
        public static BusinessAddressDTO ToDTO(this BusinessAddress entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var dto = new BusinessAddressDTO();

            dto.BusinessAddressID = entity.BusinessAddressID;
            dto.BusinessID        = entity.BusinessID;
            dto.AddressID         = entity.AddressID;
            dto.IsPrimary         = entity.IsPrimary;

            entity.OnDTO(dto);

            return(dto);
        }
        /// <summary>
        /// Converts this instance of <see cref="BusinessAddressDTO"/> to an instance of <see cref="BusinessAddress"/>.
        /// </summary>
        /// <param name="dto"><see cref="BusinessAddressDTO"/> to convert.</param>
        public static BusinessAddress ToEntity(this BusinessAddressDTO dto)
        {
            if (dto == null)
            {
                return(null);
            }

            var entity = new BusinessAddress();

            entity.BusinessAddressID = dto.BusinessAddressID;
            entity.BusinessID        = dto.BusinessID;
            entity.AddressID         = dto.AddressID;
            entity.IsPrimary         = dto.IsPrimary;

            dto.OnEntity(entity);

            return(entity);
        }
Пример #21
0
        public HttpResponseMessage Post(SubmissionViewModel model)
        {
            if (ModelState.IsValid) //always returning true
            {
                string testInLive = model.RunMode;
                bool   mode       = testInLive.Equals("1") ? true : false;

                var sender = new Sender
                {
                    Title          = model.BussinessViewModel.Sender.Title,
                    ForName1       = model.BussinessViewModel.Sender.ForName1,
                    ForName2       = model.BussinessViewModel.Sender.ForName2,
                    SurName        = model.BussinessViewModel.Sender.SurName,
                    Email          = model.BussinessViewModel.Sender.Email,
                    AddressLine1   = model.BussinessViewModel.Sender.AddressLine1,
                    AddressLine2   = model.BussinessViewModel.Sender.AddressLine2,
                    AddressLine3   = model.BussinessViewModel.Sender.AddressLine3,
                    Postcode       = model.BussinessViewModel.Sender.Postcode,
                    SenderPassword = model.BussinessViewModel.Sender.SenderPassword,
                    Type           = model.BussinessViewModel.Sender.Type,
                    Mobile         = model.BussinessViewModel.Sender.Mobile,
                    Telephone      = model.BussinessViewModel.Sender.Telephone,
                    HMRCPassword   = model.BussinessViewModel.Sender.HMRCPassword,
                    HMRCUserId     = model.BussinessViewModel.Sender.HMRCUserId,
                    Country        = model.BussinessViewModel.Sender.Country,
                    SenderId       = model.BussinessViewModel.Sender.SenderId
                };

                var address = new BusinessAddress
                {
                    Line1             = model.BussinessViewModel.BusinessAddress.Line1,
                    Line2             = model.BussinessViewModel.BusinessAddress.Line2,
                    Line3             = model.BussinessViewModel.BusinessAddress.Line3,
                    Line4             = model.BussinessViewModel.BusinessAddress.Line4,
                    Country           = model.BussinessViewModel.BusinessAddress.Country,
                    Postcode          = model.BussinessViewModel.BusinessAddress.Postcode,
                    BusinessAddressId = model.BussinessViewModel.BusinessAddress.BusinessAddressId
                };
                var business = new Business
                {
                    BusinessName   = model.BussinessViewModel.BusinessName,
                    RegisteredDate = model.BussinessViewModel.RegisteredDate,
                    VATRegNo       = model.BussinessViewModel.VATRegNo,
                    TradingName    = model.BussinessViewModel.TradingName,
                    BusinessId     = model.BussinessViewModel.BusinessId,
                    RegNo          = model.BussinessViewModel.RegNo,
                    VATRate        = model.BussinessViewModel.VATRate,
                    SenderId       = model.BussinessViewModel.SenderId
                };

                var perioddata = new PeriodData
                {
                    PeriodrefId = model.PeriodViewModel.PeriodRefId,
                    StartPeriod = model.PeriodViewModel.StartPeriod,
                    EndPeriod   = model.PeriodViewModel.EndPeriod,
                    PeriodId    = model.PeriodViewModel.PeriodId,
                    BusinessId  = model.BussinessViewModel.BusinessId
                };
                var vatData = new VAT100()
                {
                    Box1        = model.VAT100ViewModel.VATDueOnOutputs.ToString("N"),
                    Box2        = model.VAT100ViewModel.VATDueOnECAcquisitions.ToString("N"),
                    Box3        = model.VAT100ViewModel.TotalVAT.ToString("N"),
                    Box4        = model.VAT100ViewModel.VATReclaimedOnInputs.ToString("N"),
                    Box5        = model.VAT100ViewModel.NetVAT.ToString("N"),
                    Box6        = model.VAT100ViewModel.NetSalesAndOutputs.ToString(),
                    Box7        = model.VAT100ViewModel.NetPurchasesAndInputs.ToString(),
                    Box8        = model.VAT100ViewModel.NetECSupplies.ToString(),
                    Box9        = model.VAT100ViewModel.NetECAcquisitions.ToString(),
                    LastUpdated = model.VAT100ViewModel.LastUpdated
                };

                SubmissionManager submissionmanager = new SubmissionManager(_gatewayService);

                //create govtalk message
                var submissionResponse = submissionmanager.SendSubmissionRequest(sender, business, perioddata, vatData, mode);
                //read correlationId and poll uri from response
                //TODO: every time it fails delete the request and resubmit on sucess capt response and send back to client

                //  List<Object> responses = new List<Object>();
                Dictionary <string, List <XElement> > dicresponses = new Dictionary <string, List <XElement> >();
                if (submissionResponse.Errors.Count == 0)
                {
                    //submission passes send poll request
                    string correlationId = submissionResponse.CorrelationId.ToString();
                    string polluri       = submissionResponse.FollowOnUri.ToString();
                    if (!(String.IsNullOrEmpty(correlationId) && String.IsNullOrEmpty(polluri)))
                    {
                        var pollResponse = submissionmanager.SendPollRequest(correlationId, polluri, mode);
                        if (pollResponse.Errors.Count == 0)
                        {
                            //success get success response
                            perioddata.Status = SubmissionStatus.Accepted; //update status as accepted by HMRC and VAT info in the vat table
                            perioddata.VAT100 = vatData;                   // attaching new vat data to update

                            //perioddata.HmrcResponses.Add(pollResponse);

                            var nextQuaterStartDate = submissionmanager.AddMonthsCustom(perioddata.StartPeriod, 3);
                            var nextQuaterEndDate   = submissionmanager.AddMonthsCustom(perioddata.EndPeriod, 3);

                            var nextPeriod = new PeriodData()
                            {
                                StartPeriod = nextQuaterStartDate,
                                EndPeriod   = nextQuaterEndDate,
                                BusinessId  = business.BusinessId,
                                PeriodrefId = nextQuaterEndDate.ToString("yyyy-MM"),
                                Status      = SubmissionStatus.Draft
                            };
                            business.BusinessAddress     = address;
                            business.Sender              = sender;
                            business.NextQuaterStartDate = nextQuaterStartDate; //update bussiness model props with next quater start and end dates
                            business.NextQuaterEndDate   = nextQuaterEndDate;

                            perioddata.HmrcResponses.Add(pollResponse);
                            business.Periods.Add(perioddata);
                            business.Periods.Add(nextPeriod);
                            _gatewayService.UpdateEntities(business);
                            //  _gatewayService.Save(pollResponse);
                            var strContent      = HelperMethods.ExtractBodyContent(pollResponse.ResponseData.ToString());
                            var successResponse = HelperMethods.Deserialize <SuccessResponse>(strContent);
                            //save the response in the DB
                            //_gatewayService.AddNextQuaterPeriod(nextPeriod); //Add next VAT quater in the database

                            //business.Periods.Add(nextPeriod);
                            //_gatewayService.UpdateNextQuaterInBVM(business);
                            // _gatewayService.SaveResponse(successResponse); // commit to DB after adding all above objects to repositories
                            //if (successResponse != null)
                            //{
                            //TODO: serialise sucessresponse, sucessresponseirmark, message type
                            var str  = HelperMethods.Serialize(successResponse);
                            var xdoc = XDocument.Parse(str, LoadOptions.PreserveWhitespace);
                            ////select only body element from xdoc

                            var hmrcresponsemsgnode = (from d in xdoc.Descendants()
                                                       where d.Name.LocalName == "Message"
                                                       select d).ToList();
                            var vatperiodnode = (from m in xdoc.Descendants()
                                                 where m.Name.LocalName == "VATPeriod"
                                                 select m).ToList();
                            var paymentBodyNode = (from p in xdoc.Descendants()
                                                   where p.Name.LocalName == "Body"
                                                   select p).ToList();
                            var errorsNode = (from p in xdoc.Descendants()
                                              where p.Name.LocalName == "Error"
                                              select p).ToList();

                            dicresponses.Add("hmrcResponse", hmrcresponsemsgnode);
                            dicresponses.Add("vatPeriod", vatperiodnode);
                            dicresponses.Add("paymentDetails", paymentBodyNode);
                            dicresponses.Add("Errors", errorsNode);
                            //responses.Add(successResponse);
                            return(Request.CreateResponse <Dictionary <string, List <XElement> > >(HttpStatusCode.OK, dicresponses));
                        }
                        else
                        {
                            //failure bus valid failed handle here
                            //delete the request and resubmit as new request as mentioned in the gov site
                            submissionmanager.SendDeleteRequest(correlationId, mode, polluri);
                            var temp       = XDocument.Parse(pollResponse.ResponseData);
                            var pollerrors = (from p in temp.Descendants()
                                              where p.Name.LocalName == "Error"
                                              select p).ToList();

                            dicresponses.Add("Errors", pollerrors);
                            // responses.Add(pollResponse);
                        }
                    }
                    else
                    {
                        //id or uri is null
                        // responses.Add(submissionResponse);
                        var temp             = XDocument.Parse(submissionResponse.ResponseData);
                        var submissionerrors = (from p in temp.Descendants()
                                                where p.Name.LocalName == "Error"
                                                select p).ToList();

                        dicresponses.Add("Errors", submissionerrors);

                        return(Request.CreateResponse <Dictionary <string, List <XElement> > >(HttpStatusCode.BadRequest, dicresponses));
                    }
                }
                else
                {
                    //return submission failure response
                    // responses.Add(submissionResponse);
                    var temp             = XDocument.Parse(submissionResponse.ResponseData);
                    var submissionerrors = (from p in temp.Descendants()
                                            where p.Name.LocalName == "Error"
                                            select p).ToList();

                    dicresponses.Add("Errors", submissionerrors);
                }
                return(Request.CreateResponse <Dictionary <string, List <XElement> > >(HttpStatusCode.OK, dicresponses));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));

            //}
            //throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "data is null" });
        }
Пример #22
0
        public BusinessAddress GetBusinessAddress(int id)
        {
            BusinessAddress businessAddress = db.BusinessAddresses.Find(id);

            return(businessAddress);
        }
Пример #23
0
 /// <summary>
 /// Invoked when <see cref="ToEntity"/> operation is about to return.
 /// </summary>
 /// <param name="entity"><see cref="BusinessAddress"/> converted from <see cref="BusinessAddressDTO"/>.</param>
 static partial void OnEntity(this BusinessAddressDTO dto, BusinessAddress entity)
 {
 }
        public BusinessAddress GetBusinessAddress(int id)
        {
            BusinessAddress businessAddress = db.BusinessAddresses.Include(p => p.Address).FirstOrDefault(p => p.BusinessAddressID == id);

            return(businessAddress);
        }
 /// <summary>
 /// Invoked when <see cref="ToDTO"/> operation is about to return.
 /// </summary>
 /// <param name="dto"><see cref="BusinessAddressDTO"/> converted from <see cref="BusinessAddress"/>.</param>
 static partial void OnDTO(this BusinessAddress entity, BusinessAddressDTO dto);
Пример #26
0
        static void Main(string[] args)
        {
            using (var ctx = new ASAEntitiesContext())
            {
                //Sender sen = new Sender()
                //{
                //    Title = "mr",
                //    ForName1 = "Sat",
                //    ForName2 = "Ch",
                //    SurName = "Gat",
                //    Email = "*****@*****.**",
                //    AddressLine1 = "awdas",
                //    AddressLine2 = "asdasdsa",
                //    AddressLine3 = "www",
                //    Country = "UK",
                //    Postcode = "E11",
                //    Mobile = "01111",
                //    SenderPassword = "******",
                //    Telephone = "5131",
                //    Type = SenderType.Individual,
                //    HMRCUserId = "VATDEC180a01",
                //    HMRCPassword = "******"

                //};
                //ctx.Sender.Add(sen);
                //ctx.SaveChanges();
                GovTalkMessage msg = new GovTalkMessage()
                {
                };
                //SuccessResponseIRmarkReceipt ir = new SuccessResponseIRmarkReceipt
                //{

                //};
                //SuccessResponse resp = new SuccessResponse()
                //{
                //    //IRmarkReceipt = ir,
                //    AcceptedTime = DateTime.Now,
                //    AcceptedTimeSpecified = true,
                //    ResponseData_IsEmpty = true,



                //};

                //ctx.SucessResponse.Add(resp);
                ctx.SaveChanges();

                Client clt = new Client()
                {
                    Name  = "London Borough Of Redbride",
                    RegNo = "Reg123456789",
                    VATNo = "VAT123456"
                };

                ctx.Client.Add(clt);
                ctx.SaveChanges();

                Business bu = new Business()
                {
                    BusinessName   = "TEST",
                    BusinessId     = 1,
                    TradingName    = "TEST",
                    RegisteredDate = DateTime.Now,
                    VATRegNo       = "123456",
                    SenderId       = 1
                };
                BusinessAddress bud = new BusinessAddress()
                {
                    Line1    = "test",
                    Line2    = "test2",
                    Line3    = "test3",
                    Line4    = "test5",
                    Postcode = "IG1",
                    Country  = "UK"
                };
                bu.BusinessAddress = bud;

                //ctx.BusinessAddress.Add(bud);
                //ctx.Business.Add(bu);
                // ctx.SaveChanges();



                PeriodData per = new PeriodData()
                {
                    StartPeriod = DateTime.Now.AddMonths(-3),
                    EndPeriod   = DateTime.Now,
                    PeriodrefId = "2017-04",
                    Status      = SubmissionStatus.Draft
                };
                VAT100 vat = new VAT100()
                {
                };
                //per.VAT100 = vat;


                bu.Periods.Add(per);

                Client cl = new Client()
                {
                    //Id = 1,
                    Name  = "consoleC",
                    RegNo = "123",
                    VATNo = "1234567"
                };

                ClientAddress cd = new ClientAddress()
                {
                    Address1        = "First line of add",
                    Address2        = "Second line of add",
                    City            = "Lonodn",
                    ClientAddressId = 1,
                    Country         = "UK",
                    PostCode        = "SS1",
                };

                PeriodData per1 = new PeriodData()
                {
                    StartPeriod = DateTime.Now.AddMonths(-3),
                    EndPeriod   = DateTime.Now,
                    PeriodrefId = "2017-07",
                    Status      = SubmissionStatus.Draft
                };
                bu.Periods.Add(per1);

                //works above


                cl.ClientAddress = cd;
                //ctx.Client.Add(cl);
                //ctx.SaveChanges();
                //ctx.SaveChanges();
                //var cup = ctx.ClientAddress.FirstOrDefault();
                //cup.Address1 = "New Update address";
                //var c = ctx.Client.FirstOrDefault();

                //c.ClientAddress = cup;

                //ctx.Client.Add(c);


                // ctx.Client.Add(cl);
                InvoiceDetail invd = new InvoiceDetail();
                invd.No        = "LBR-1";
                invd.IssueDate = DateTime.Now;
                invd.DueDate   = DateTime.Now.AddDays(7);
                invd.Note      = "test";
                invd.Ref       = "nothing";
                invd.Discount  = "10%";

                InvoiceItem item     = new InvoiceItem();
                var         itemguid = Guid.Parse("00000000-0000-0000-0000-000000000000");
                item.Id          = itemguid;
                item.Description = "apple";
                item.Quantity    = "1";
                item.Price       = "1";
                item.Total       = "1";
                item.SubTotal    = "1";
                item.VAT         = "0";
                item.VATRate     = "0";



                List <InvoiceItem> items = new List <InvoiceItem>();
                items.Add(item);
                var myguid = Guid.Parse("3551A09E-DE21-A325-6DF4-40281A4FEBE0");
                //var inv = ctx.Invoice.Where(i => i.InvoiceId == myguid)
                //            .Include(d => d.InvoiceDetail)
                //            .Include(it => it.InvoiceItems)
                //            .FirstOrDefault();


                //ctx.Entry(inv).CurrentValues.SetValues(inv);
                //foreach (var it in items)
                //{
                //    var existingChild = inv.InvoiceItems.Where(c => c.Id == it.Id).SingleOrDefault();
                //    if(existingChild!=null)
                //    {
                //        ctx.Entry(existingChild).CurrentValues.SetValues(it);

                //    }
                //    else
                //    {
                //        Console.WriteLine("add new item");
                //        inv.InvoiceItems.Add(item);
                //    }
                //}

                //ctx.Entry(inv).State = EntityState.Modified;

                //Invoice myinvoice = new Invoice();
                //myinvoice.ClientId = 3;
                //myinvoice.InvoiceDetail = invd;
                //myinvoice.InvoiceItems = items;
                //ctx.Invoice.Add(myinvoice);
                //ctx.SaveChanges();
                // bu.Periods.Add(per1);

                // ctx.Business.Add(bu);

                //cl.ClientAddress = cd;
                //ctx.Client.Add(cl);
                //ctx.SaveChanges();
            }
        }
Пример #27
0
        public static BusinessAddress Translate(DataRow row)
        {
            var address = new BusinessAddress();

            try
            {
                address.BusinessId = F1Business.GetCompanyAsPersonId(row.Field <int>("HOUSEHOLD_ID"));
                address.Street1    = row.Field <string>("address_1");
                address.Street2    = row.Field <string>("address_2");
                address.City       = row.Field <string>("city");
                address.State      = row.Field <string>("state");
                address.PostalCode = row.Field <string>("Postal_Code");
                address.Country    = row.Field <string>("country");

                var addressType = row.Field <string>("address_type");
                switch (addressType)
                {
                case "Primary":
                {
                    address.AddressType = AddressType.Home;
                    address.IsMailing   = true;
                    break;
                }

                case "Previous":
                {
                    address.AddressType = AddressType.Previous;
                    break;
                }

                case "Business":
                {
                    address.AddressType = AddressType.Work;
                    break;
                }

                case "Mail Returned / Incorrect":
                {
                    address.AddressType = AddressType.Other;
                    break;
                }

                default:
                {
                    address.AddressType = AddressType.Other;
                    break;
                }
                }

                // only add the address if we have a valid address
                if (address.Street1.IsNotNullOrWhitespace() &&
                    address.City.IsNotNullOrWhitespace() &&
                    address.PostalCode.IsNotNullOrWhitespace())
                {
                    return(address);
                }

                return(null);
            }
            catch
            {
                return(null);
            }
        }
Пример #28
0
        public void Submission_SendRequest()
        {
            //Arrange
            //Fake input params
            var sen = new Sender
            {
                Title          = "Mr",
                ForName1       = "Sat",
                ForName2       = "aa",
                SurName        = "Gat",
                AddressLine1   = "133Gleny",
                AddressLine2   = "Barking",
                Postcode       = "Ig11",
                Country        = "UK",
                Email          = "*****@*****.**",
                Mobile         = "0123456789",
                HMRCUserId     = "VATDEC180a01",
                SenderPassword = "******"
            };
            var bus = new Business
            {
                BusinessName   = "ABC",
                RegisteredDate = DateTime.Parse("07-04-2017"),
                TradingName    = "ABC",
                VATRegNo       = "999900001",
            };
            var add = new BusinessAddress
            {
                Line1    = "1 First Add",
                Line2    = "2 Second add",
                Line3    = "3 Third",
                Postcode = "Ig11",
                Country  = "UK"
            };
            //  bus.AddressList.Add(add);
            var per = new PeriodData
            {
                PeriodrefId = "201701",
                StartPeriod = DateTime.Parse("07-04-2017"),
                EndPeriod   = DateTime.Parse("31-07-2017")
            };
            var vat = new VAT100
            {
                Box1 = "1.50",
                Box2 = "0.50",
                Box3 = "2.00",
                Box4 = "2.00",
                Box5 = "0.00",
                Box6 = "20",
                Box7 = "10",
                Box8 = "10",
                Box9 = "5"
            };


            //Arrange
            //var sm = new SubmissionManager(_gatewayService);
            //  var test = sm.SendSubmissionRequest(sen, bus, per, vat, true);
            //Act
            //var govtalkmessage = _gatewayService.CreateGovTalkMessage(sen, bus, per, vat, true);

            //    var strGovTalkMessage = HelperMethods.GovTalkMessageToXDocument(govtalkmessage).ToString();


            ////generate irmark from govtalk message
            //byte[] bytes = Encoding.UTF8.GetBytes(strGovTalkMessage);

            //    var irmark = HelperMethods.GetIRMark(bytes);

            //    var xdoc = XDocument.Parse(strGovTalkMessage, LoadOptions.PreserveWhitespace); //set irmark value in the doc

            //    if (irmark!=null)
            //    {
            //        XNamespace ns = xdoc.Root.Name.Namespace;
            //        XElement body = xdoc.Root.Element(ns + "Body");
            //        if (body != null)
            //        {
            //            var bodyElelemts = from el in body.Descendants()
            //                               where el.Name.LocalName == "IRenvelope"
            //                               select el;

            //            foreach (var ele in bodyElelemts)
            //            {
            //                XNamespace ns1 = ele.Name.Namespace;
            //                var element = ele.Descendants(ns1 + "IRmark").First();
            //                if (element != null)
            //                {
            //                    element.Value = irmark;
            //                }

            //            }
            //        }
            //    }
            //    string strSendRequest = xdoc.ToString();

            //TODO: Need to validate the xml before sending to gateway but this seems to be complicate yet as
            //this needs to be validate individual classes irenvelope and vat payload and govtlak envelope so for future
            //http://stackoverflow.com/questions/751511/validating-an-xml-against-referenced-xsd-in-c-sharp

            // bool result = HelperMethods.IsValidXml(strSendRequest, @"C:\Temp\ASA.API\ASA.Core\XSDs\envelope-v2-0-HMRC.xsd", "http://www.govtalk.gov.uk/CM/envelope");
            //var submissionResponse = sm.SendSubmissionRequest(sen, bus, per, vat, true);

            //var erorrs = submissionResponse.Errors.Count;
            string correlationId         = "585F0728964645B2A944B4410D0EF5A8";
            string polluri               = "https://secure.dev.gateway.gov.uk/poll";
            var    govTalkMessageForPoll =
                _gatewayService.CreateGovTalkMessageForPollRequest(correlationId, polluri, true);
            var pollreq      = HelperMethods.GoVTalkMessageToXDocumentForPoll(govTalkMessageForPoll);
            var pollStr      = pollreq.ToString();
            var pollresponse = _gatewayService.SendHMRCMessage(pollStr, polluri);

            var strContent      = HelperMethods.ExtractBodyContent(pollresponse.ResponseData.ToString());
            var successResponse = HelperMethods.Deserialize <SuccessResponse>(strContent);

            var str = HelperMethods.Serialize(successResponse);
            var doc = XDocument.Parse(str, LoadOptions.PreserveWhitespace);
            ////select only body element from xdoc
            XNamespace nsr = "http://www.govtalk.gov.uk/taxation/vat/vatdeclaration/2";
            var        hmrcresponsemsgnode = (from d in doc.Descendants()
                                              where d.Name.LocalName == "Message"
                                              select d).ToList();
            var messagedetailsnode = (from m in doc.Descendants()
                                      where m.Name.LocalName == "AcceptedTime"
                                      select m).ToList();
            var paymentBodyNode = (from p in doc.Descendants()
                                   where p.Name.LocalName == "Body"
                                   select p).ToList();


            List <XElement> col = new List <XElement>();

            col.AddRange(hmrcresponsemsgnode);
            col.AddRange(messagedetailsnode);
            col.AddRange(paymentBodyNode);
            Dictionary <string, List <XElement> > dic = new Dictionary <string, List <XElement> >();

            dic.Add("hmrcResponseNode", hmrcresponsemsgnode);
            dic.Add("password", messagedetailsnode);
            dic.Add("plan_id", paymentBodyNode);

            //Asset
            // Assert.IsInstanceOfType(govtalkmessage, typeof(GovTalkMessage)); //check if the object is govTalkMessage
            //Assert.IsTrue(result); //validate generated xml
            // Assert.AreEqual(erorrs, 0);
        }
Пример #29
0
        /// <summary>
        /// Writes to package.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="model">The model.</param>
        public static void WriteToPackage <T>(T model)
        {
            var typeName = model.GetType().Name;

            if (model is IImportModel)
            {
                var importModel = ( IImportModel )model;
                // check if a textwriter is needed for this model type
                if (!textWriters.ContainsKey(typeName))
                {
                    if (!Directory.Exists(_packageDirectory))
                    {
                        InitalizePackageFolder();
                    }

                    textWriters.Add(typeName, ( TextWriter )File.CreateText($@"{_packageDirectory}\{importModel.GetFileName()}"));

                    // if model is for person create related writers
                    if (importModel is Person)
                    {
                        // person attributes
                        var personAttributeValue = new PersonAttributeValue();
                        textWriters.Add(personAttributeValue.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{personAttributeValue.GetFileName()}"));

                        // person phones
                        var personPhone = new PersonPhone();
                        textWriters.Add(personPhone.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{personPhone.GetFileName()}"));

                        // person addresses
                        var personAddress = new PersonAddress();
                        textWriters.Add(personAddress.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{personAddress.GetFileName()}"));

                        // person search key
                        var personSearchKey = new PersonSearchKey();
                        textWriters.Add(personSearchKey.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{personSearchKey.GetFileName()}"));
                    }

                    if (importModel is PersonAttributeValue)
                    {
                        var personAttributeValue = new PersonAttributeValue();
                        textWriters.Add(personAttributeValue.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{personAttributeValue.GetFileName()}"));
                    }

                    // if model is for financial batch create related writers
                    if (importModel is FinancialBatch)
                    {
                        // financial transactions
                        var financialTransaction = new FinancialTransaction();
                        textWriters.Add(financialTransaction.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{financialTransaction.GetFileName()}"));

                        // financial transation details
                        var financialTransactionDetail = new FinancialTransactionDetail();
                        textWriters.Add(financialTransactionDetail.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{financialTransactionDetail.GetFileName()}"));
                    }

                    // if model is for financial transaction create related writers
                    if (importModel is FinancialTransaction)
                    {
                        // financial transation details
                        var financialTransactionDetail = new FinancialTransactionDetail();
                        textWriters.Add(financialTransactionDetail.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{financialTransactionDetail.GetFileName()}"));
                    }

                    // if model is for group create related writers
                    if (importModel is Group)
                    {
                        // group member
                        var groupMember = new GroupMember();
                        textWriters.Add(groupMember.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{groupMember.GetFileName()}"));

                        // group attributes
                        var groupAttributeValue = new GroupAttributeValue();
                        textWriters.Add(groupAttributeValue.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{groupAttributeValue.GetFileName()}"));

                        // group addresses
                        var groupAddress = new GroupAddress();
                        textWriters.Add(groupAddress.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{groupAddress.GetFileName()}"));
                    }

                    // if model is for business create related writers
                    if (importModel is Business)
                    {
                        // business attributes
                        var businessAttributeValue = new BusinessAttributeValue();
                        textWriters.Add(businessAttributeValue.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{businessAttributeValue.GetFileName()}"));

                        // business phones
                        var businessPhone = new BusinessPhone();
                        textWriters.Add(businessPhone.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{businessPhone.GetFileName()}"));

                        // business addresses
                        var businessAddress = new BusinessAddress();
                        textWriters.Add(businessAddress.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{businessAddress.GetFileName()}"));

                        // business contacts
                        var businessContact = new BusinessContact();
                        textWriters.Add(businessContact.GetType().Name, ( TextWriter )File.CreateText($@"{_packageDirectory}\{businessContact.GetFileName()}"));
                    }
                }

                var txtWriter = textWriters[typeName];

                // check if a csvwriter is needed for this model type
                if (!csvWriters.ContainsKey(typeName))
                {
                    var newCsvWriter = new CsvWriter(txtWriter);
                    csvWriters.Add(typeName, newCsvWriter);
                    newCsvWriter.WriteHeader <T>();
                    //newCsvWriter.Configuration.QuoteAllFields = true;

                    // if model is for person create related writers
                    if (importModel is Person)
                    {
                        // person attributes
                        var personAttributeValue             = new PersonAttributeValue();
                        var newPersonAttributeValueCsvWriter = new CsvWriter(textWriters[personAttributeValue.GetType().Name]);
                        csvWriters.Add(personAttributeValue.GetType().Name, newPersonAttributeValueCsvWriter);
                        newPersonAttributeValueCsvWriter.WriteHeader <PersonAttributeValue>();

                        // person phones
                        var personPhone             = new PersonPhone();
                        var newPersonPhoneCsvWriter = new CsvWriter(textWriters[personPhone.GetType().Name]);
                        csvWriters.Add(personPhone.GetType().Name, newPersonPhoneCsvWriter);
                        newPersonPhoneCsvWriter.WriteHeader <PersonPhone>();

                        // person addresses
                        var personAddress             = new PersonAddress();
                        var newPersonAddressCsvWriter = new CsvWriter(textWriters[personAddress.GetType().Name]);
                        csvWriters.Add(personAddress.GetType().Name, newPersonAddressCsvWriter);
                        newPersonAddressCsvWriter.WriteHeader <PersonAddress>();

                        // person search keys
                        var personSearchKey             = new PersonSearchKey();
                        var newPersonSearchKeyCsvWriter = new CsvWriter(textWriters[personSearchKey.GetType().Name]);
                        csvWriters.Add(personSearchKey.GetType().Name, newPersonSearchKeyCsvWriter);
                        newPersonSearchKeyCsvWriter.WriteHeader <PersonSearchKey>();
                    }

                    if (importModel is PersonAttributeValue)
                    {
                        var personAttributeValue             = new PersonAttributeValue();
                        var newPersonAttributeValueCsvWriter = new CsvWriter(textWriters[personAttributeValue.GetType().Name]);
                        csvWriters.Add(personAttributeValue.GetType().Name, newPersonAttributeValueCsvWriter);
                        newPersonAttributeValueCsvWriter.WriteHeader <PersonAttributeValue>();
                    }

                    // if model is for financial batch create related writers
                    if (importModel is FinancialBatch)
                    {
                        // financial transaction
                        var financialTransaction             = new FinancialTransaction();
                        var newFinancialTransactionCsvWriter = new CsvWriter(textWriters[financialTransaction.GetType().Name]);
                        csvWriters.Add(financialTransaction.GetType().Name, newFinancialTransactionCsvWriter);
                        newFinancialTransactionCsvWriter.WriteHeader <FinancialTransaction>();

                        // financial transaction detail
                        var financialTransactionDetail             = new FinancialTransactionDetail();
                        var newFinancialTransactionDetailCsvWriter = new CsvWriter(textWriters[financialTransactionDetail.GetType().Name]);
                        csvWriters.Add(financialTransactionDetail.GetType().Name, newFinancialTransactionDetailCsvWriter);
                        newFinancialTransactionDetailCsvWriter.WriteHeader <FinancialTransactionDetail>();
                    }

                    //if model is for financial transaction, create related writers
                    if (importModel is FinancialTransaction)
                    {
                        // financial transaction detail
                        var financialTransactionDetail             = new FinancialTransactionDetail();
                        var newFinancialTransactionDetailCsvWriter = new CsvWriter(textWriters[financialTransactionDetail.GetType().Name]);
                        csvWriters.Add(financialTransactionDetail.GetType().Name, newFinancialTransactionDetailCsvWriter);
                        newFinancialTransactionDetailCsvWriter.WriteHeader <FinancialTransactionDetail>();
                    }

                    // if model is for group create related writers
                    if (importModel is Group)
                    {
                        // group member
                        var groupMember             = new GroupMember();
                        var newGroupMemberCsvWriter = new CsvWriter(textWriters[groupMember.GetType().Name]);
                        csvWriters.Add(groupMember.GetType().Name, newGroupMemberCsvWriter);
                        newGroupMemberCsvWriter.WriteHeader <GroupMember>();

                        // group attributes
                        var groupAttributeValue             = new GroupAttributeValue();
                        var newGroupAttributeValueCsvWriter = new CsvWriter(textWriters[groupAttributeValue.GetType().Name]);
                        csvWriters.Add(groupAttributeValue.GetType().Name, newGroupAttributeValueCsvWriter);
                        newGroupAttributeValueCsvWriter.WriteHeader <GroupAttributeValue>();

                        // group addresses
                        var groupAddress             = new GroupAddress();
                        var newGroupAddressCsvWriter = new CsvWriter(textWriters[groupAddress.GetType().Name]);
                        csvWriters.Add(groupAddress.GetType().Name, newGroupAddressCsvWriter);
                        newGroupAddressCsvWriter.WriteHeader <GroupAddress>();
                    }

                    // if model is for business create related writers
                    if (importModel is Business)
                    {
                        // business attributes
                        var businessAttributeValue             = new BusinessAttributeValue();
                        var newBusinessAttributeValueCsvWriter = new CsvWriter(textWriters[businessAttributeValue.GetType().Name]);
                        csvWriters.Add(businessAttributeValue.GetType().Name, newBusinessAttributeValueCsvWriter);
                        newBusinessAttributeValueCsvWriter.WriteHeader <BusinessAttributeValue>();

                        // business phones
                        var businessPhone             = new BusinessPhone();
                        var newBusinessPhoneCsvWriter = new CsvWriter(textWriters[businessPhone.GetType().Name]);
                        csvWriters.Add(businessPhone.GetType().Name, newBusinessPhoneCsvWriter);
                        newBusinessPhoneCsvWriter.WriteHeader <BusinessPhone>();

                        // business addresses
                        var businessAddress             = new BusinessAddress();
                        var newBusinessAddressCsvWriter = new CsvWriter(textWriters[businessAddress.GetType().Name]);
                        csvWriters.Add(businessAddress.GetType().Name, newBusinessAddressCsvWriter);
                        newBusinessAddressCsvWriter.WriteHeader <BusinessAddress>();

                        // business Contacts
                        var businessContacts             = new BusinessContact();
                        var newBusinessContactsCsvWriter = new CsvWriter(textWriters[businessContacts.GetType().Name]);
                        csvWriters.Add(businessContacts.GetType().Name, newBusinessContactsCsvWriter);
                        newBusinessContactsCsvWriter.WriteHeader <BusinessContact>();
                    }
                }

                var csvWriter = csvWriters[typeName];

                csvWriter.WriteRecord <T>(model);

                // if person model write out any related models
                if (importModel is Person)
                {
                    // person attributes
                    var personAttributeValue          = new PersonAttributeValue();
                    var csvPersonAttributeValueWriter = csvWriters[personAttributeValue.GetType().Name];

                    if (csvPersonAttributeValueWriter != null)
                    {
                        foreach (var attribute in (( Person )importModel).Attributes)
                        {
                            csvPersonAttributeValueWriter.WriteRecord(attribute);
                        }
                    }

                    // person phones
                    var personPhone          = new PersonPhone();
                    var csvPersonPhoneWriter = csvWriters[personPhone.GetType().Name];

                    if (csvPersonPhoneWriter != null)
                    {
                        foreach (var phone in (( Person )importModel).PhoneNumbers)
                        {
                            csvPersonPhoneWriter.WriteRecord(phone);
                        }
                    }

                    // person addresses
                    var personAddress          = new PersonAddress();
                    var csvPersonAddressWriter = csvWriters[personAddress.GetType().Name];

                    if (csvPersonAddressWriter != null)
                    {
                        foreach (var address in (( Person )importModel).Addresses)
                        {
                            if ((( Person )importModel).FamilyId.HasValue)
                            {
                                var familyAddress = new FamilyAddress
                                {
                                    FamilyId   = (( Person )importModel).FamilyId.Value,
                                    Street1    = address.Street1,
                                    PostalCode = address.PostalCode.Left(5)
                                };

                                var index = _familyAddresses.FindIndex(a =>
                                                                       a.FamilyId == (( Person )importModel).FamilyId.Value &&
                                                                       a.Street1.Equals(address.Street1, StringComparison.OrdinalIgnoreCase) &&
                                                                       a.PostalCode.Equals(address.PostalCode.Left(5)));

                                if (index == -1)
                                {
                                    _familyAddresses.Add(familyAddress);
                                    csvPersonAddressWriter.WriteRecord(address);
                                }
                            }
                            else
                            {
                                csvPersonAddressWriter.WriteRecord(address);
                            }
                        }
                    }

                    // person search keys
                    var personSearchKey          = new PersonSearchKey();
                    var csvPersonSearchKeyWriter = csvWriters[personSearchKey.GetType().Name];

                    if (csvPersonSearchKeyWriter != null)
                    {
                        foreach (var searchKey in (( Person )importModel).PersonSearchKeys)
                        {
                            csvPersonSearchKeyWriter.WriteRecord(searchKey);
                        }
                    }
                }

                // if financial model write out any related models
                if (importModel is FinancialBatch)
                {
                    // write out financial transactions and transaction details
                    var financialTransaction          = new FinancialTransaction();
                    var csvFinancialTransactionWriter = csvWriters[financialTransaction.GetType().Name];

                    var financialTransactionDetail          = new FinancialTransactionDetail();
                    var csvFinancialTransactionDetailWriter = csvWriters[financialTransactionDetail.GetType().Name];

                    if (csvFinancialTransactionWriter != null && csvFinancialTransactionDetailWriter != null)
                    {
                        foreach (var transaction in (( FinancialBatch )importModel).FinancialTransactions)
                        {
                            csvFinancialTransactionWriter.WriteRecord(transaction);

                            foreach (var transactionDetail in transaction.FinancialTransactionDetails)
                            {
                                csvFinancialTransactionDetailWriter.WriteRecord(transactionDetail);
                            }
                        }
                    }
                }

                // if financial Transaction model write out any related models
                if (importModel is FinancialTransaction)
                {
                    var financialTransactionDetail          = new FinancialTransactionDetail();
                    var csvFinancialTransactionDetailWriter = csvWriters[financialTransactionDetail.GetType().Name];

                    if (csvFinancialTransactionDetailWriter != null)
                    {
                        foreach (var transactionDetail in (( FinancialTransaction )importModel).FinancialTransactionDetails)
                        {
                            csvFinancialTransactionDetailWriter.WriteRecord(transactionDetail);
                        }
                    }
                }

                // if group model write out any related models
                if (importModel is Group)
                {
                    // group members
                    var groupMember          = new GroupMember();
                    var csvGroupMemberWriter = csvWriters[groupMember.GetType().Name];

                    if (csvGroupMemberWriter != null)
                    {
                        foreach (var groupMemberItem in (( Group )importModel).GroupMembers)
                        {
                            csvGroupMemberWriter.WriteRecord(groupMemberItem);
                        }
                    }

                    // group attributes
                    var groupAttributeValue          = new GroupAttributeValue();
                    var csvGroupAttributeValueWriter = csvWriters[groupAttributeValue.GetType().Name];

                    if (csvGroupAttributeValueWriter != null)
                    {
                        foreach (var attribute in (( Group )importModel).Attributes)
                        {
                            csvGroupAttributeValueWriter.WriteRecord(attribute);
                        }
                    }

                    // group addresses
                    var groupAddress          = new GroupAddress();
                    var csvGroupAddressWriter = csvWriters[groupAddress.GetType().Name];

                    if (csvGroupAddressWriter != null)
                    {
                        foreach (var address in (( Group )importModel).Addresses)
                        {
                            csvGroupAddressWriter.WriteRecord(address);
                        }
                    }
                }

                // if business model write out any related models
                if (importModel is Business)
                {
                    // business attributes
                    var personBusinessValue             = new BusinessAttributeValue();
                    var csvBusinessAttributeValueWriter = csvWriters[personBusinessValue.GetType().Name];

                    if (csvBusinessAttributeValueWriter != null)
                    {
                        foreach (var attribute in (( Business )importModel).Attributes)
                        {
                            csvBusinessAttributeValueWriter.WriteRecord(attribute);
                        }
                    }

                    // business phones
                    var businessPhone          = new BusinessPhone();
                    var csvBusinessPhoneWriter = csvWriters[businessPhone.GetType().Name];

                    if (csvBusinessPhoneWriter != null)
                    {
                        foreach (var phone in (( Business )importModel).PhoneNumbers)
                        {
                            csvBusinessPhoneWriter.WriteRecord(phone);
                        }
                    }

                    // business addresses
                    var businessAddress          = new BusinessAddress();
                    var csvBusinessAddressWriter = csvWriters[businessAddress.GetType().Name];

                    if (csvBusinessAddressWriter != null)
                    {
                        foreach (var address in (( Business )importModel).Addresses)
                        {
                            csvBusinessAddressWriter.WriteRecord(address);
                        }
                    }

                    // business contacts
                    var businessContact          = new BusinessContact();
                    var csvBusinessContactWriter = csvWriters[businessContact.GetType().Name];

                    if (csvBusinessContactWriter != null)
                    {
                        foreach (var contact in (( Business )importModel).Contacts)
                        {
                            csvBusinessAddressWriter.WriteRecord(contact);
                        }
                    }
                }
            }
        }
Пример #30
0
 public AddressDisplay(Retailer retailer, BusinessAddress address)
 {
     _retailer = retailer;
     _address  = address;
 }