Exemple #1
0
        private void GetBojData()
        {
            this.isinfo = DbfTable.GetIsinfo(this.main_form.selected_comp);
            using (LocalDbEntities db = DBX.DataSet(this.main_form.selected_comp))
            {
                this.boj5_header = db.boj5_header.FirstOrDefault();
                if (this.boj5_header == null)
                {
                    db.boj5_header.Add(new boj5_header
                    {
                        accSource          = ACC_SOURCE.B.ToString(),
                        foreignShareholder = 0,
                        headerStatus       = "A",
                        meetingNo          = "",
                        meetingType        = MEETING_TYPE.B.ToString(),
                        parValue           = 0,
                        sourceDate         = null,
                        thaiShareholder    = 0,
                        totalCapital       = 0,
                        totalForeignShare  = 0,
                        totalShare         = 0,
                        totalThaiShare     = 0,
                        userId             = "",
                        yearEnd            = null
                    });
                    db.SaveChanges();

                    this.boj5_header = db.boj5_header.First();
                }

                this.boj5_detail = db.boj5_detail.Include("boj5_person").OrderBy(d => d.itemNo).ToList();
            }
        }
        private void DialogBojDetail_Load(object sender, EventArgs e)
        {
            this.isinfo = DbfTable.GetIsinfo(this.main_form.selected_comp);

            if (this.boj5_detail == null)
            {
                this.boj5_detail = new boj5_detail
                {
                    asPaidAmount   = 0,
                    boj5_person_id = -1,
                    itemNo         = -1,
                    paidAmount     = 0,
                    shareDocDate   = null,
                    shareDocId     = string.Empty,
                    shareNumber    = 0,
                    shareRegExist  = null,
                    shareRegOmit   = null,
                    shareType      = ((int)SHARE_TYPE.COMMON_SHARE).ToString(),
                    userId         = this.isinfo.taxid
                };
            }

            this.SetDropDownItem();
            this.LoadPersonToDatagrid();
            //using (LocalDbEntities db = DBX.DataSet(this.main_form.selected_comp))
            //{
            //    this.person_list = new BindingList<boj5_person_VM>(db.boj5_person.ToList().ToViewModel());
            //    this.person_list.ToList().ForEach(i =>
            //    {
            //        if(i.boj5_person.id == this.boj5_detail.boj5_person_id)
            //        {
            //            i.selected = true;
            //        }
            //    });
            //    this.dgvPerson.DataSource = this.person_list;
            //}

            this.FillForm();
        }
Exemple #3
0
        public JsonModel(string data_path, string docnum)
        {
            using (StreamReader rdr = File.OpenText(@"Res\Countries.json"))
            {
                countries = (List <Country>) new JsonSerializer().Deserialize(rdr, typeof(List <Country>));
            }
            using (StreamReader rdr = File.OpenText(@"Res\Cities.json"))
            {
                cities = (List <CitySubDivision>) new JsonSerializer().Deserialize(rdr, typeof(List <CitySubDivision>));
                //List<CitySubDivision> cities_json = (List<CitySubDivision>)new JsonSerializer().Deserialize(rdr, typeof(List<CitySubDivision>));
                //province = new List<Province>();
                //foreach (var p in cities_json.GroupBy(c => c.provinceId))
                //{
                //    province.Add(new Province
                //    {
                //        id = p.First().provinceId,
                //        name = p.First().provinceName,
                //        cities = cities_json.Where(c => c.provinceId == p.First().provinceId).GroupBy(c => c.CityId).Select(g => new City
                //        {
                //            id = g.First().CityId,
                //            name = g.First().CityName,
                //            subDivisions = cities_json.Where(c => c.CityId == g.First().CityId).Select(sd => new SubDivision { id = sd.SubDivisionId, name = sd.SubDivisionName, latitude = sd.Latitude, longitude = sd.Longitude }).ToList()
                //        }).ToList()
                //    });
                //}
            }

            DbfDataSet dataset = new DbfDataSet(data_path);

            IsinfoDbf       isinfo     = dataset.Isinfo;
            ArtrnDbf        artrn      = dataset.Artrn.Where(a => a.docnum == docnum).FirstOrDefault();
            StdDocumentName docName    = artrn.GetDocName(dataset);
            ArmasDbf        armas      = dataset.Armas.Where(a => a.cuscod == artrn.cuscod).FirstOrDefault();
            CitySubDivision sellerCity = this.cities.Where(c => (isinfo.addr01 + " " + isinfo.addr02).Contains(c.provinceName) &&
                                                           (isinfo.addr01 + " " + isinfo.addr02).Contains(c.CityName) &&
                                                           (isinfo.addr01 + " " + isinfo.addr02).Contains(c.SubDivisionName)).FirstOrDefault();

            CitySubDivision buyerCity = this.cities.Where(c => (armas.addr01 + " " + armas.addr02 + " " + armas.addr03).Contains(c.provinceName) &&
                                                          (armas.addr01 + " " + armas.addr02 + " " + armas.addr03).Contains(c.CityName) &&
                                                          (armas.addr01 + " " + armas.addr02 + " " + armas.addr03).Contains(c.SubDivisionName)).FirstOrDefault();

            ArtrnDbf refDoc = null;

            if (docName.type == StdDocumentName.TYPE._80 || docName.type == StdDocumentName.TYPE._81)
            {
                refDoc = dataset.Artrn.Where(a => a.docnum == artrn.sonum).FirstOrDefault();
            }
            else
            {
                refDoc = dataset.Artrn.Where(a => a.docnum == artrn.youref).FirstOrDefault();
            }

            StdDocumentName refDocName = refDoc != null?refDoc.GetDocName(dataset) : null;

            List <StcrdDbf> stcrd = dataset.Stcrd.Where(s => s.docnum == docnum).ToList();
            List <IstabDbf> qucod = dataset.Istab.Where(i => i.tabtyp == "20" && stcrd.Select(s => s.tqucod).ToList <string>().Contains(i.typcod)).ToList();



            // Create DocumentDetail for export to JSON
            this.DocumentDetail = new DocumentDetail
            {
                ID = artrn.docnum,
                CreationDateTime    = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.GetCultureInfo("en-US")),
                IssueDateTime       = artrn.docdat.Value.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.GetCultureInfo("en-US")),
                SpecifiedCIDocument = "ETDA",
                Name     = docName != null ? docName.Name : string.Empty,
                TypeCode = docName != null ? docName.typeCode : string.Empty,
                Purpose  = docName.type == StdDocumentName.TYPE._80 || docName.type == StdDocumentName.TYPE._81 ? artrn.youref : string.Empty,
                Note     = new Note
                {
                    Subject = docName.type == StdDocumentName.TYPE._80 || docName.type == StdDocumentName.TYPE._81 ? string.Empty : "หมายเหตุ",
                    Content = docName.type == StdDocumentName.TYPE._80 || docName.type == StdDocumentName.TYPE._81 ? string.Empty : artrn.youref
                }
            };

            this.SellerTradeParty = new SellerTradeParty
            {
                PostalCITradeAddress = new PostalTradeAddress
                {
                    LineOne              = isinfo.addr01,
                    LineTwo              = isinfo.addr02,
                    CountryID            = countries.Where(c => c.Name.ToLower() == "thailand").First().Code,
                    PostcodeCode         = isinfo.GetZipcod(),
                    CountrySubDivisionID = string.Empty,
                    CityID            = sellerCity != null ? sellerCity.CityId : string.Empty,        //string.Empty,
                    CitySubDivisionID = sellerCity != null ? sellerCity.SubDivisionId : string.Empty, //string.Empty,
                    Address           = string.Empty,
                },
                Name           = string.Empty,
                TaxID          = isinfo.taxid,
                BranchCode     = isinfo.GetOrgnumString(),
                CompleteNumber = isinfo.GetTelFax().telNum, //"*****@*****.**",
                URIID          = string.Empty,              //"www.esg.co.th",
                Telephone      = isinfo.GetTelFax().telNum,
                Fax            = isinfo.GetTelFax().faxNum,
            };

            this.BuyerTradeParty = new BuyerTradeParty
            {
                PersonName         = armas.contact,
                Name               = armas.prenam + " " + armas.cusnam,
                TaxID              = armas.taxid,
                BranchCode         = armas.GetOrgnumString(),
                CompleteNumber     = armas.GetTelFax().telNum, //"*****@*****.**",
                URIID              = string.Empty,             //"www.esg.co.th",
                Telephone          = armas.GetTelFax().telNum,
                Fax                = armas.GetTelFax().faxNum,
                PostalTradeAddress = new PostalTradeAddress
                {
                    CountryID            = countries.Where(c => c.Name.ToLower() == "thailand").First().Code,
                    LineOne              = armas.addr01,
                    LineTwo              = armas.addr02 + " " + armas.addr03 + " " + armas.zipcod,
                    PostcodeCode         = armas.zipcod,
                    CountrySubDivisionID = string.Empty,
                    CityID            = buyerCity != null ? buyerCity.CityId : string.Empty,        //string.Empty,
                    CitySubDivisionID = buyerCity != null ? buyerCity.SubDivisionId : string.Empty, //string.Empty,
                    Address           = string.Empty
                }
            };

            this.IncludedSupplyChainTradeLineItem = new List <LineItem>();
            int item_count = 0;

            foreach (StcrdDbf st in stcrd)
            {
                this.IncludedSupplyChainTradeLineItem.Add(new LineItem
                {
                    LineID             = (++item_count).ToString(),
                    Name               = st.stkdes,
                    ChargeAmount       = st.unitpr.ToString(),
                    BilledQuantity     = st.trnqty.ToString(),
                    UnitCode           = "",
                    UnitName           = qucod.Where(q => q.typcod == st.tqucod).First().typdes,
                    ChargeIndicator    = st.discamt > 0 ? "true" : "false",
                    ActualAmount       = st.discamt > 0 ? st.discamt.ToString() : "0",
                    NetLineTotalAmount = st.trnval.ToString(),
                    GlobalID           = "",
                    ProductID          = st.stkcod
                });
            }
            this.ReferencedDocument = new List <RefDocs>();
            if (refDoc != null)
            {
                this.ReferencedDocument.Add(new RefDocs
                {
                    IssuerAssignedID  = refDoc.docnum,
                    IssueDateTime     = refDoc.docdat.Value.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.GetCultureInfo("en-US")),
                    ReferenceTypeCode = refDocName != null ? refDocName.typeCode : string.Empty
                });
            }

            this.ApplicableHeaderTradeSettlement = new ApplicableHeaderTradeSettlement
            {
                SpecifiedTradeAllowanceCharge = new SpecifiedTradeAllowanceCharge
                {
                    ChargeIndicator = artrn.discamt > 0 ? "true" : "false",
                    ActualAmount    = artrn.discamt > 0 ? artrn.discamt.ToString() : "0"
                },
                InvoiceCurrencyCode = "THB",
                ApplicableTradeTax  = new ApplicableTradeTax
                {
                    CalculatedRate = artrn.vatrat.ToString(), //"7.00",
                    BasisAmount    = artrn.total.ToString(),
                    VatAmount      = artrn.vatamt.ToString(),
                    TypeCode       = "VAT"
                },
                SpecifiedTradeSettlementHeaderMonetarySummation = new SpecifiedTradeSettlementHeaderMonetarySummation
                {
                    LineTotalAmount           = artrn.amount.ToString(),                //string.Empty,
                    GrandTotalAmountCharactor = string.Empty,
                    TaxTotalAmount            = artrn.vatamt.ToString(),                //string.Empty,
                    GrandTotalAmount          = (artrn.total + artrn.vatamt).ToString() //string.Empty
                }
            };
        }