Exemple #1
0
        public override void BindControl()
        {
            SettlementDAL dal = new SettlementDAL();
            var           sts = dal.GetSettlementByOrderNo(SourceNo);

            Utility.BindDataToRepeater(rpItems, sts);
        }
Exemple #2
0
        public long SaveSettlement(ISettlement settlement)
        {
            long Settlementid = 0;

            Settlementid = SettlementDAL.SaveSettlement(settlement);
            return(Settlementid);
        }
Exemple #3
0
        protected void btnChangeStatus_Click(object sender, EventArgs e)
        {
            SettlementDAL dal = new SettlementDAL();
            var           st  = dal.GetSettlementByNo(StNo);

            AddFollowUp(followUpControl, st.Status, Utility.GetSelectedText(ddlSettlementStatus));
            SetFocus(btnChangeStatus);
        }
Exemple #4
0
        protected void btnSettlement_Click(object sender, EventArgs e)
        {
            //get no
            SeedDAL sdal = new SeedDAL();
            string  no   = sdal.GetNoByTableName(SysConst.TableSettlement, SysConst.SuffixSettlement);

            string companyName = string.Empty;
            string contact     = string.Empty;
            string address     = string.Empty;
            string email       = string.Empty;
            string qq          = string.Empty;
            string phone1      = string.Empty;
            string phone2      = string.Empty;
            string other       = string.Empty;

            OrderDAL soDAL = new OrderDAL();
            var      so    = soDAL.GetOrderByNo(SourceNo);

            companyName = so.CustomerCompanyName;
            contact     = so.CustomerContactName;
            address     = so.CustomerAddress;
            email       = so.CustomerEmail;
            qq          = so.CustomerQQ;
            phone1      = so.CustomerPhone1;
            phone2      = so.CustomerPhone2;
            other       = so.CustomerOthers;

            //new refine
            SettlementDAL dal = new SettlementDAL();
            Settlement    st  = new Settlement()
            {
                St_No               = no,
                Status              = FirstStatusConsts.Settlement,
                SourceType          = SourceType,
                SourceNo            = SourceNo,
                CreatedDate         = DateTime.Now,
                CustomerCompanyName = companyName,
                CustomerContactName = contact,
                CustomerAddress     = address,
                CustomerEmail       = email,
                CustomerQQ          = qq,
                CustomerPhone1      = phone1,
                CustomerPhone2      = phone2,
                CustomerOthers      = other
            };

            dal.AddSettlement(st);
            dal.Save();

            int    stid   = st.St_Id;
            string stno   = st.St_No;
            string url    = Page.ResolveUrl(string.Format("~/SettlementForm.aspx?stid={0}&stno={1}&sourcetype={2}&sourceno={3}", stid, stno, SysConst.SourceTypeOrder, SourceNo));
            string script = string.Format("<script>window.open('{0}')</script>", url);

            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "createsettle", script);
            BindControl();
            SetFocus(btnSettlement);
        }
Exemple #5
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            SettlementDAL dal = new SettlementDAL();
            var           st  = dal.GetSettlementByNo(StNo);

            if (!string.IsNullOrEmpty(txtDeliveryDate.Text))
            {
                st.DeliveryDate = DateTime.Parse(txtDeliveryDate.Text);
            }
            //update st
            st.StMan = Utility.GetSelectedText(ddlSettlementMan);

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < cblDeliveryList.Items.Count; i++)
            {
                if (cblDeliveryList.Items[i].Selected)
                {
                    sb.Append(cblDeliveryList.Items[i].Text).Append("|");
                }
            }
            st.DeliveryList = sb.ToString();
            st.StLocation   = txtSettleLocation.Text;

            st.CustomerCompanyName = customerInfoControl.CompanyName;
            st.CustomerContactName = customerInfoControl.ContactName;
            st.CustomerAddress     = customerInfoControl.Address;
            st.CustomerEmail       = customerInfoControl.Email;
            st.CustomerQQ          = customerInfoControl.QQ;
            st.CustomerPhone1      = customerInfoControl.Phone1;
            st.CustomerPhone2      = customerInfoControl.Phone2;
            st.CustomerOthers      = customerInfoControl.Other;
            //settlement
            if (!string.IsNullOrEmpty(txtTotalAmount.Text))
            {
                st.TotalAmount = double.Parse(txtTotalAmount.Text);
            }
            if (!string.IsNullOrEmpty(txtReceivedFirst.Text))
            {
                st.FirstAmount = double.Parse(txtReceivedFirst.Text);
            }
            if (!string.IsNullOrEmpty(txtReceived.Text))
            {
                st.AmountReceived = double.Parse(txtReceived.Text);
            }
            st.ReceivableIntro = txtBalanceIntro.Text;
            AddFollowUp(followUpControl, st.Status, Utility.GetSelectedText(ddlSettlementStatus));
            st.Status = Utility.GetSelectedText(ddlSettlementStatus);

            dal.Save();
            //save new customer
            customerInfoControl.Save();
            this.SetFocus(sender);
        }
Exemple #6
0
        public List <Settlement> GetSettlementList()
        {
            SettlementDAL dal    = new SettlementDAL();
            var           result = dal.SearchSettlement(txtSettlementId.Text,
                                                        Utility.GetSelectedText(ddlSettlementMan),
                                                        !string.IsNullOrEmpty(txtBeginDate.Text) ? DateTime.Parse(txtBeginDate.Text) : DateTime.MinValue,
                                                        !string.IsNullOrEmpty(txtEndDate.Text) ? DateTime.Parse(txtEndDate.Text) : DateTime.MaxValue,
                                                        txtOrderId.Text,
                                                        Utility.GetSelectedText(ddlSettlementStatus));

            return(result);
        }
Exemple #7
0
        protected void btnImport_Click(object sender, EventArgs e)
        {
            SettlementDAL dal  = new SettlementDAL();
            LineItemDAL   lDal = new LineItemDAL();

            var             settlement = dal.GetSettlementById(StId);
            StringBuilder   sb         = new StringBuilder(256);
            List <LineItem> lineItems  = new List <LineItem>();

            foreach (ListItem item in cblDeliveryList.Items)
            {
                if (item.Selected)
                {
                    sb.Append(item.Text).Append("|");
                    lineItems.AddRange(lDal.GetLineItemsBySource(int.Parse(item.Value), SysConst.SourceTypeDelivery));
                }
            }
            settlement.DeliveryList = sb.ToString();

            dal.Save();


            var dbItems = lDal.GetLineItemsBySource(this.StId, SysConst.SourceTypeSettlement);

            foreach (var item in dbItems)
            {
                lDal.DeleteItem(item.LineItem_Id);
            }

            foreach (var item in lineItems)
            {
                LineItem li = new LineItem()
                {
                    Intro      = item.Intro,
                    Name       = item.Name,
                    OriginNo   = item.OriginNo,
                    Project    = item.Project,
                    Quantity   = item.Quantity,
                    Remark     = item.Remark,
                    SourceId   = this.StId,
                    SourceType = SysConst.SourceTypeSettlement,
                    Spec       = item.Spec,
                    Unit       = item.Unit,
                    UnitPrice  = item.UnitPrice
                };
                lDal.AddLineItem(li);
            }
            lDal.Save();

            UIUtility.BindUserControl(LineItemsControl1, SysConst.SourceTypeSettlement, StId);
        }
Exemple #8
0
        protected void rpOrderList_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Order order = e.Item.DataItem as Order;
                FollowUpTop3UserControl followUp = e.Item.FindControl("followUpTop3UserControl") as FollowUpTop3UserControl;
                UIUtility.BindUserControl(followUp, SysConst.SourceTypeOrder, order.Order_No);

                Label         lblContractAmount   = e.Item.FindControl("lblContractAmount") as Label;
                Label         lblSettlementAmount = e.Item.FindControl("lblSettlementAmount") as Label;
                Label         lblReceivedAmount   = e.Item.FindControl("lblReceivedAmount") as Label;
                Label         lblNeedAmount       = e.Item.FindControl("lblNeedAmount") as Label;
                LineItemDAL   lineDAL             = new LineItemDAL();
                SettlementDAL stDAL          = new SettlementDAL();
                ReceiptDAL    rDAL           = new ReceiptDAL();
                var           contractAmount = lineDAL.GetLineItemsBySource(order.Order_Id, SysConst.SourceTypeOrder).Sum(l => l.UnitPrice * l.Quantity);
                var           stAmount       = stDAL.GetSettlementByOrderNo(order.Order_No).Sum(s => s.TotalAmount);
                var           receivedAmount = rDAL.GetReceiptBySource(SysConst.SourceTypeOrder, order.Order_No).Sum(r => r.ReceivedAmount);
                lblContractAmount.Text   = contractAmount.ToString();
                lblSettlementAmount.Text = stAmount.ToString();
                lblReceivedAmount.Text   = receivedAmount.ToString();
                var needAmount = stAmount != 0 ? (stAmount - receivedAmount) : (contractAmount - receivedAmount);
                lblNeedAmount.Text = needAmount.ToString();

                totalContract += contractAmount.GetValueOrDefault();
                totalSt       += stAmount.GetValueOrDefault();
                totalRec      += receivedAmount.GetValueOrDefault();
                totalNeed     += needAmount.GetValueOrDefault();
            }

            if (e.Item.ItemType == ListItemType.Footer)
            {
                var lblTotalContract = e.Item.FindControl("lblTotalContract") as Label;
                var lblTotalST       = e.Item.FindControl("lblTotalST") as Label;
                var lblTotalRec      = e.Item.FindControl("lblTotalRec") as Label;
                var lblTotalNeed     = e.Item.FindControl("lblTotalNeed") as Label;

                lblTotalContract.Text = totalContract.ToString();
                lblTotalNeed.Text     = totalNeed.ToString();
                lblTotalRec.Text      = totalRec.ToString();
                lblTotalST.Text       = totalSt.ToString();
            }
        }
Exemple #9
0
        protected void btnSaveAmount_Click(object sender, EventArgs e)
        {
            SettlementDAL dal = new SettlementDAL();
            var           st  = dal.GetSettlementByNo(StNo);

            if (!string.IsNullOrEmpty(txtTotalAmount.Text))
            {
                st.TotalAmount = double.Parse(txtTotalAmount.Text);
            }
            if (!string.IsNullOrEmpty(txtReceivedFirst.Text))
            {
                st.FirstAmount = double.Parse(txtReceivedFirst.Text);
            }
            if (!string.IsNullOrEmpty(txtReceived.Text))
            {
                st.AmountReceived = double.Parse(txtReceived.Text);
            }
            st.ReceivableIntro = txtBalanceIntro.Text;
            lblEndBalance.Text = ((st.TotalAmount.HasValue ? st.TotalAmount.Value : 0) - (st.AmountReceived.HasValue ? st.AmountReceived.Value : 0)).ToString();
            dal.Save();
        }
Exemple #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Utility.BindDataToDropdown(ddlSettlementStatus, Utility.GetSettlementStatusList());
                Utility.BindDataToDropdown(ddlSettlementMan, Utility.GetUserList2(true));
                DeliveryDAL dlDAL     = new DeliveryDAL();
                var         deliverys = dlDAL.GetDeliveryByOrderNo(SourceNo);
                if (deliverys != null)
                {
                    foreach (var item in deliverys)
                    {
                        cblDeliveryList.Items.Add(new ListItem()
                        {
                            Text = item.Delivery_No, Value = item.Delivery_Id.ToString()
                        });
                    }
                }
                //link
                OrderDAL sDAL  = new OrderDAL();
                var      order = sDAL.GetOrderByNo(SourceNo);
                lnkOrderId.Text        = order.Order_No;
                lnkOrderId.NavigateUrl = string.Format("orderform.aspx?ordid={0}&ordno={1}&sourcetype={2}&sourceno={3}", order.Order_Id, order.Order_No, order.SourceType, order.SourceNo);
                SettlementDAL dal = new SettlementDAL();
                var           st  = dal.GetSettlementByNo(StNo);
                txtCreatedDate.Text            = st.CreatedDate.ToString("yyyy-MM-dd");
                txtDeliveryDate.Text           = st.DeliveryDate.HasValue ? st.DeliveryDate.Value.ToString("yyyy-MM-dd") : string.Empty;
                ddlSettlementMan.SelectedValue = st.StMan;
                if (!string.IsNullOrEmpty(st.DeliveryList))
                {
                    foreach (ListItem item in cblDeliveryList.Items)
                    {
                        if (st.DeliveryList.Contains(item.Text))
                        {
                            item.Selected = true;
                        }
                    }
                }
                //customer
                this.customerInfoControl.SetValue(st.CustomerCompanyName,
                                                  st.CustomerContactName,
                                                  st.CustomerAddress,
                                                  st.CustomerEmail,
                                                  st.CustomerQQ,
                                                  st.CustomerPhone1,
                                                  st.CustomerPhone2,
                                                  st.CustomerOthers);
                //lineitem
                LineItemsControl1.IsPriceColumnVisible = true;
                LineItemsControl1.IsSpecColumnVisible  = false;
                LineItemsControl1.IsFooterVisible      = false;
                LineItemsControl1.SourceId             = st.St_Id;
                UIUtility.BindUserControl(LineItemsControl1, SysConst.SourceTypeSettlement, st.St_No);
                //amount
                SetAmount(SysConst.SourceTypeSettlement, st.St_Id);

                txtTotalAmount.Text   = st.TotalAmount.ToString();
                txtReceivedFirst.Text = st.FirstAmount.ToString();
                txtReceived.Text      = st.AmountReceived.ToString();
                txtBalanceIntro.Text  = st.ReceivableIntro;
                lblEndBalance.Text    = ((st.TotalAmount.HasValue ? st.TotalAmount.Value : 0) - (st.AmountReceived.HasValue ? st.AmountReceived.Value:0)).ToString();
                var accumulateAmount = dal.GetSettlementByOrderNo(SourceNo).Where(s => s.CreatedDate <= st.CreatedDate).Sum(settle => settle.TotalAmount);
                var receivableTotal  = new ReceiptDAL().GetReceiptBySource(SysConst.SourceTypeOrder, st.SourceNo).Where(r => r.ReceivedDate <= st.CreatedDate).Sum(re => re.ReceivedAmount);
                lblAccumulateAmount.Text = accumulateAmount.ToString();
                lblReceivableTotal.Text  = receivableTotal.ToString();
                //status
                ddlSettlementStatus.SelectedValue = st.Status;
                //followup
                UIUtility.BindUserControl(followUpControl, SysConst.SourceTypeSettlement, st.SourceNo);
            }
        }
Exemple #11
0
        protected void cblDeliveryList_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <LineItem> items = new List <LineItem>();
            LineItemDAL     dal   = new LineItemDAL();

            foreach (ListItem listItem in cblDeliveryList.Items)
            {
                if (listItem.Selected)
                {
                    var del      = new DeliveryDAL().GetDeliveryByNo(listItem.Text);
                    var delItems = dal.GetLineItemsBySource(del.Delivery_Id, SysConst.SourceTypeDelivery);
                    foreach (var delItem in delItems)
                    {
                        items.Add(new LineItem()
                        {
                            Intro      = delItem.Intro,
                            Name       = delItem.Name,
                            OriginNo   = listItem.Text,
                            Project    = delItem.Project,
                            Quantity   = delItem.Quantity,
                            Remark     = delItem.Remark,
                            SourceId   = StId,
                            SourceType = SysConst.SourceTypeSettlement,
                            Spec       = delItem.Spec,
                            Unit       = delItem.Unit,
                            UnitPrice  = delItem.UnitPrice
                        });
                    }
                }
                else
                {
                    var lineItemsOfSt = dal.GetLineItemsBySource(StId, SysConst.SourceTypeSettlement);
                    foreach (var item in lineItemsOfSt)
                    {
                        if (item.OriginNo == listItem.Text)
                        {
                            dal.DeleteItem(item.LineItem_Id);
                        }
                    }
                }
            }
            foreach (var item in items)
            {
                dal.AddLineItem(item);
            }
            dal.Save();

            //save list
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < cblDeliveryList.Items.Count; i++)
            {
                if (cblDeliveryList.Items[i].Selected)
                {
                    sb.Append(cblDeliveryList.Items[i].Text).Append("|");
                }
            }
            var stDAL = new SettlementDAL();
            var st    = stDAL.GetSettlementByNo(StNo);

            st.DeliveryList = sb.ToString();
            stDAL.Save();

            UIUtility.BindUserControl(LineItemsControl1, SysConst.SourceTypeSettlement, StId);
        }
Exemple #12
0
 public static int DeleteSettlement(int SettlementId, int UserID)
 {
     return(SettlementDAL.DeleteSettlement(SettlementId, UserID));
 }
Exemple #13
0
 public DataSet GetSettlementWithSettlment(Int32 SettlementID)
 {
     return(SettlementDAL.GetSettlementWithSettlment(SettlementID));
 }
Exemple #14
0
 public DataSet GetSettlementWithBL(Int32 BlNo)
 {
     return(SettlementDAL.GetSettlementWithBL(BlNo));
 }
Exemple #15
0
 public List <ISettlement> GetSettlements(SearchCriteria searchCriteria, int locationId)
 {
     return(SettlementDAL.GetAllSettlements(searchCriteria, locationId));
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Utility.BindDataToDropdown(ddlDeliveryStatus, Utility.GetDeliveryStatusList());
                Utility.BindDataToDropdown(ddlDeliveryMethod, Utility.GetLookupList(SysConst.DeliveryCatelog));
                Utility.BindDataToDropdown(ddlInstallType, Utility.GetLookupList(SysConst.InstallCatelog));
                Utility.BindDataToDropdown(ddlDelCreateMan, Utility.GetUserList2(true));
                Utility.BindDataToDropdown(ddlSalesMan, Utility.GetUserList2(true));

                if (!string.IsNullOrEmpty(DeliveryNo))
                {
                    DeliveryDAL  dDAL     = new DeliveryDAL();
                    var          del      = dDAL.GetDeliveryByNo(DeliveryNo);
                    OrderDAL     soDAL    = new OrderDAL();
                    var          ord      = soDAL.GetOrderByNo(SourceNo);
                    MachiningDAL mDAL     = new MachiningDAL();
                    var          machList = mDAL.GetMachBySource(SysConst.SourceTypeOrder, SourceNo);
                    foreach (var item in machList)
                    {
                        cblMach.Items.Add(new ListItem()
                        {
                            Text = item.Mach_No, Value = item.Mach_Id.ToString()
                        });
                    }
                    //basic
                    txtCreatedDate.Text           = del.CreatedDate.ToString("yyyy-MM-dd");
                    ddlSalesMan.SelectedValue     = del.OrderMan;
                    ddlDelCreateMan.SelectedValue = del.DeliveryCreateMan;
                    lnkOrder.Text        = SourceNo;
                    lnkOrder.NavigateUrl = Page.ResolveUrl(string.Format("~/OrderForm.aspx?ordid={0}&ordno={1}&sourcetype={2}&sourceno={3}",
                                                                         ord.Order_Id,
                                                                         ord.Order_No,
                                                                         ord.SourceType,
                                                                         ord.SourceNo));
                    if (!string.IsNullOrEmpty(del.MachList))
                    {
                        foreach (ListItem item in cblMach.Items)
                        {
                            if (del.MachList.Contains(item.Text))
                            {
                                item.Selected = true;
                            }
                        }
                    }
                    //customer
                    this.customerInfoControl.SetValue(
                        del.CustomerCompanyName,
                        del.CustomerContactName,
                        del.CustomerAddress,
                        del.CustomerEmail,
                        del.CustomerQQ,
                        del.CustomerPhone1,
                        del.CustomerPhone2,
                        del.CustomerOthers);
                    //delivery type
                    this.ddlDeliveryMethod.SelectedValue = del.DeliveryType;
                    this.txtDelIntro.Text           = del.DeliveryIntro;
                    this.txtDeliveryDriverMan.Text  = del.DeliveryDriverMan;
                    this.txtDelPhone.Text           = del.DriverPhone;
                    this.txtCarType.Text            = del.CarType;
                    this.txtDeliveryToAddress.Text  = del.DeliveryToAddress;
                    this.txtExpectDeliveryDate.Text = del.ExpectedDeliveryDate.HasValue ? del.ExpectedDeliveryDate.Value.ToString("yyyy-MM-dd") : string.Empty;
                    this.txtRealDelDate.Text        = del.RealDeliveryDate.HasValue ? del.RealDeliveryDate.Value.ToString("yyyy-MM-dd") : string.Empty;
                    //install
                    this.chkProvideInstall.Checked    = del.IsInstallProvided;
                    this.ddlInstallType.SelectedValue = del.InstallType;
                    this.txtInstallIntro.Text         = del.InstallIntro;
                    this.txtInstallMan.Text           = del.InstallMan;
                    this.txtInstallPhone.Text         = del.InstallPhone;
                    this.txtInstallDate.Text          = del.InstallDate.HasValue ? del.InstallDate.Value.ToString("yyyy-MM-dd"):string.Empty;
                    this.chkInsteadSettlement.Checked = del.InsteadOfSettlement;
                    //delivery content
                    lineItemControl.SourceId = del.Delivery_Id;
                    UIUtility.BindUserControl(lineItemControl, SysConst.SourceTypeDelivery, del.Delivery_No);
                    //settlement info
                    if (chkInsteadSettlement.Checked)
                    {
                        SettlementDAL dal = new SettlementDAL();
                        SetAmount(SysConst.SourceTypeDelivery, del.Delivery_Id);

                        txtTotalAmount.Text   = del.TotalAmount.ToString();
                        txtReceivedFirst.Text = del.FirstAmount.ToString();
                        txtReceived.Text      = del.ReceivedAmount.ToString();
                        txtBalanceIntro.Text  = del.ReceivableIntro;
                        lblEndBalance.Text    = ((del.TotalAmount.HasValue ? del.TotalAmount.Value : 0) - (del.ReceivedAmount.HasValue ? del.ReceivedAmount.Value : 0)).ToString();
                        var accumulateAmount = dal.GetSettlementByOrderNo(SourceNo).Where(s => s.CreatedDate <= del.CreatedDate).Sum(settle => settle.TotalAmount);
                        var receivableTotal  = new ReceiptDAL().GetReceiptBySource(SysConst.SourceTypeOrder, del.Order_No).Where(r => r.ReceivedDate <= del.CreatedDate).Sum(re => re.ReceivedAmount);
                        lblAccumulateAmount.Text = accumulateAmount.ToString();
                        lblReceivableTotal.Text  = receivableTotal.ToString();
                    }
                    //intro
                    UIUtility.BindUserControl(FooterIntroControl1, SysConst.SourceTypeDelivery, del.Delivery_No);
                    this.ddlDeliveryStatus.SelectedValue = del.Status;
                    //followup
                    UIUtility.BindUserControl(followUpControl, SysConst.SourceTypeDelivery, del.Delivery_No);
                }
            }
        }