Пример #1
0
        private void FinanceForm_Loaded(object sender, RoutedEventArgs e)
        {
            var year   = DataFactory.Instance.GetSystemProfileExecuter().GetInt(SystemProfileKey.CurrentYear);
            var period = DataFactory.Instance.GetSystemProfileExecuter().GetInt(SystemProfileKey.CurrentPeriod);

            var now = DateTime.Now;

            if (now.Year == year && now.Month == period)
            {
            }
            else
            {
                now = CommonUtils.CalcMaxPeriodDate(year, period);
            }

            if (m_filter == null)
            {
                m_filter = new Dictionary <string, object>();
                m_filter.Add("beginYear", now.Year);
                m_filter.Add("beginPeriod", now.Month);
                m_filter.Add("endYear", now.Year);
                m_filter.Add("endPeriod", now.Month);
            }

            try
            {
                Query();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #2
0
        private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                if (listView.SelectedItem == null)
                {
                    return;
                }

                var aux = listView.SelectedItem as Auxiliary;
                var lst = DataFactory.Instance.GetTemplateExecuter().ListCarriedForwardTemplate(aux.id);
                lst.Sort((a, b) => { return(a.index > b.index ? 1 : 0); });
                var displayList = new List <CarriedForwardTemplateDisplayItem>();
                lst.ForEach(a => {
                    var srcObj = DataFactory.Instance.GetAccountSubjectExecuter().Find(a.src);
                    var dstObj = DataFactory.Instance.GetAccountSubjectExecuter().Find(a.dst);

                    var item     = new CarriedForwardTemplateDisplayItem();
                    item.srcNo   = srcObj.no;
                    item.srcName = srcObj.fullName;
                    item.dstNo   = dstObj.no;
                    item.dstName = dstObj.fullName;
                    displayList.Add(item);
                });
                datagrid.ItemsSource = displayList;
            }
            catch (Exception ex)
            {
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #3
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "new":
                    var frm = new FormMenuEditPopup();
                    frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                        FinanceForm_Loaded(datagrid, null);
                    });
                    frm.ShowDialog();
                    break;

                case "modify":
                    Popup();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #4
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "query":
                    var frmFilter = new FormUdefReportFilterPopup(this);
                    frmFilter.Filter            = m_filter;
                    frmFilter.FilterPopupEvent += (args) =>
                    {
                        m_filter = args.Filter;
                        isShowed = false;
                        FinanceForm_Loaded(this, null);
                    };
                    frmFilter.Show();
                    break;

                case "export":

                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #5
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "query":
                    var frmFilter = new FormListFilterPopup();
                    frmFilter.Filter            = m_filter;
                    frmFilter.FilterPopupEvent += (args) =>
                    {
                        m_filter = args.Filter;
                        Query();
                    };
                    frmFilter.Show();
                    break;

                case "export":
                    break;

                case "refresh":
                    Query();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #6
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "save":
                    Save();
                    FinanceMessageBox.Info("修改成功");
                    break;

                case "close":
                case "exit":

                    break;
                }
                Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #7
0
        private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                if (listView.SelectedItem == null)
                {
                    return;
                }

                var user = listView.SelectedItem as User;

                var lstAccessRight = DataFactory.Instance.GetSystemProfileExecuter().GetAccessRight(user.Id);

                var lst = new List <AccessRightListItem>();
                mMenuList.ForEach(menu =>
                {
                    var item = new AccessRightListItem {
                        first = menu.group, firstName = UiUtils.FirstMenuDisplayNameMap[menu.group], second = menu.name, secondName = menu.header
                    };
                    var access = lstAccessRight.FirstOrDefault(a => a.group == menu.group && a.name == menu.name);
                    if (access != null && access.mask > 0)
                    {
                        item.isAllow = true;
                    }
                    lst.Add(item);
                });

                datagrid.ItemsSource = lst;
            }
            catch (Exception ex)
            {
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #8
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "new":
                    var frm = new FormMenuEditPopup();
                    frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                        FinanceForm_Loaded(datagrid, null);
                    });
                    frm.ShowDialog();
                    break;

                case "modify":
                    Popup();
                    break;

                case "delete":
                    var item = datagrid.SelectedItem as MenuTableMap;
                    if (item != null)
                    {
                        DataFactory.Instance.GetSystemProfileExecuter().DeleteMenuItem(item);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #9
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "save":
                    Save();
                    FinanceMessageBox.Info("保存成功");
                    break;

                case "finish":
                    Save();
                    DataFactory.Instance.GetBeginBalanceExecuter().Finish();
                    FinanceMessageBox.Info("结束初始化成功");
                    if (DataFactory.Instance.GetSystemProfileExecuter().GetInt(SystemProfileKey.IsInited) == 1)
                    {
                        datagrid.IsReadOnly = true;
                        save.IsEnabled      = false;
                        finish.IsEnabled    = false;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "savenew":
                    if (NeedSave())
                    {
                        Save();
                    }
                    else
                    {
                        Console.WriteLine("don't change,no need save.");
                    }
                    ItemSource = new AccountSubject {
                        direction = 1
                    };
                    break;

                case "save":
                    if (NeedSave())
                    {
                        Save();
                    }
                    else
                    {
                        Console.WriteLine("don't change,no need save.");
                    }
                    FinanceMessageBox.Info("保存成功");
                    Close();
                    break;

                case "close":
                case "exit":
                    if (NeedSave())
                    {
                        MessageBoxResult ret = FinanceMessageBox.Quest("修改了科目,需要进行保存吗?");
                        if (ret == MessageBoxResult.Yes)
                        {
                            Save();
                        }
                        else if (ret == MessageBoxResult.Cancel)
                        {
                            break;
                        }
                    }
                    Close();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #11
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "savenew":
                    if (NeedSave())
                    {
                        Save();
                    }
                    else
                    {
                        Console.WriteLine("don't change,no need save.");
                    }
                    UserName         = "";
                    _origionUserName = "";
                    txtPwd.Password  = _origionPassword;
                    UserId           = 0;
                    break;

                case "save":
                    if (NeedSave())
                    {
                        Save();
                    }
                    else
                    {
                        Console.WriteLine("don't change,no need save.");
                    }
                    FinanceMessageBox.Info("保存成功");
                    break;

                case "close":
                case "exit":
                    if (NeedSave())
                    {
                        MessageBoxResult ret = FinanceMessageBox.Quest("修改了用户,需要进行保存吗?");
                        if (ret == MessageBoxResult.Yes)
                        {
                            Save();
                        }
                        else if (ret == MessageBoxResult.Cancel)
                        {
                            break;
                        }
                    }
                    Close();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #12
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "new":
                    var frm = new FormUserPopup();
                    frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                        FinanceForm_Loaded(datagrid, null);
                    });
                    frm.ShowDialog();
                    break;

                case "modify":
                    Popup();
                    break;

                case "disable":
                    var item = datagrid.SelectedItem as User;
                    if (item != null)
                    {
                        var ret = FinanceMessageBox.Quest(string.Format("确认要禁用用户[{0}]吗?", item.Name));
                        if (MessageBoxResult.Yes == ret)
                        {
                            DataFactory.Instance.GetUserExecuter().Disable(item.Id);
                            FinanceForm_Loaded(datagrid, null);
                        }
                    }
                    else
                    {
                        FinanceMessageBox.Info("请选中一个用户");
                    }
                    break;

                case "enable":
                    var item1 = datagrid.SelectedItem as User;
                    if (item1 != null)
                    {
                        DataFactory.Instance.GetUserExecuter().Enable(item1.Id);
                        FinanceForm_Loaded(datagrid, null);
                    }
                    else
                    {
                        FinanceMessageBox.Info("请选中一个用户");
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #13
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "exec":
                    bool   bEnd    = false;
                    bool   bTmp    = false;
                    string message = "";
                    string taskId  = "";
                    var    proc    = procName;
                    Dictionary <string, object> paramMap = new Dictionary <string, object>();
                    paramMap.Add("word", cmbWord.SelectedValue);
                    paramMap.Add("explanation", txtExplanation.Text);

                    Task task = Task.Run(() =>
                    {
                        try
                        {
                            taskId = DataFactory.Instance.GetInterfaceExecuter().ExecTask(ExecTaskType.CarriedForward, proc, paramMap);
                        }
                        catch (Exception ex)
                        {
                            message = ex.Message;
                        }
                        bEnd = true;
                    });
                    FinanceMessageBox.Progress("开始执行...", (args) =>
                    {
                        bTmp         = !bTmp;
                        args.Message = "正在执行 " + (bTmp ? "..." : "");
                        args.Close   = bEnd;
                    });
                    if (string.IsNullOrEmpty(message))
                    {
                        var taskResult = DataFactory.Instance.GetInterfaceExecuter().GetTaskResult(taskId);
                        if (taskResult != null)
                        {
                            message = taskResult.result;
                        }
                    }

                    txtResult.AppendText(message + "\r\n");
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #14
0
 void Refresh()
 {
     try
     {
         List <Voucher> lst = DataFactory.Instance.GetVoucherExecuter().List(m_filter);
         LoadList(lst);
     }
     catch (Exception ex)
     {
         FinanceMessageBox.Error(ex.Message);
     }
 }
Пример #15
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "exec":
                    bool   bEnd    = false;
                    bool   bTmp    = false;
                    string message = "";
                    string taskId  = "";
                    var    filter  = ReadFilter();
                    var    proc    = procName;
                    Task   task    = Task.Run(() =>
                    {
                        try
                        {
                            taskId = DataFactory.Instance.GetInterfaceExecuter().ExecTask(ExecTaskType.CreateVoucher, proc, filter);
                        }
                        catch (Exception ex)
                        {
                            message = ex.Message;
                        }
                        bEnd = true;
                    });
                    FinanceMessageBox.Progress("开始执行...", (args) =>
                    {
                        bTmp         = !bTmp;
                        args.Message = "正在执行 " + (bTmp ? "..." : "");
                        args.Close   = bEnd;
                    });
                    if (string.IsNullOrEmpty(message))
                    {
                        var taskResult = DataFactory.Instance.GetInterfaceExecuter().GetTaskResult(taskId);
                        if (taskResult != null)
                        {
                            message = taskResult.result;
                        }
                    }

                    txtResult.AppendText(message);
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #16
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "formula":
                    if (SheetModel == SheetModel.FORMULA)
                    {
                        SheetModel = SheetModel.DATA;
                    }
                    else
                    {
                        SheetModel = SheetModel.FORMULA;
                    }
                    break;

                case "export":
                    SaveFileDialog sflg = new SaveFileDialog();
                    sflg.Filter = "Excel(*.xls)|*.xls|Excel(*.xlsx)|*.xlsx";
                    var bRnt = sflg.ShowDialog();
                    if (bRnt == null || bRnt == false)
                    {
                        return;
                    }
                    var curYear   = DataFactory.Instance.GetSystemProfileExecuter().GetString(SystemProfileKey.CurrentYear);
                    var curPeriod = DataFactory.Instance.GetSystemProfileExecuter().GetString(SystemProfileKey.CurrentPeriod);
                    var filter    = new Dictionary <string, string>();
                    filter.Add("beginYear", curYear);
                    filter.Add("beginPeriod", curPeriod);
                    filter.Add("endYear", curYear);
                    filter.Add("endPeriod", curPeriod);
                    DataFactory.Instance.GetCashflowExecuter().DownloadFile(sflg.FileName, filter);
                    FinanceMessageBox.Info("导出完成。");
                    break;

                case "refresh":
                    m_excelTemlate  = null;
                    m_cashflowSheet = null;
                    SheetModel      = _sheetModel;
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #17
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "query":
                    var frmFilter = new FormListFilterPopup();
                    frmFilter.Filter = m_filter;
                    frmFilter.Hide2();
                    frmFilter.FilterPopupEvent += (args) =>
                    {
                        m_filter      = args.Filter;
                        m_lstTemplate = DataFactory.Instance.GetTemplateExecuter().GetExcelTemplate("利润表");
                        SheetModel    = SheetModel;
                    };
                    frmFilter.Show();
                    break;

                case "export":

                    break;

                case "refresh":
                    m_lstTemplate = DataFactory.Instance.GetTemplateExecuter().GetExcelTemplate("利润表");
                    SheetModel    = SheetModel;
                    break;

                case "formula":
                    if (SheetModel == SheetModel.FORMULA)
                    {
                        SheetModel = SheetModel.DATA;
                    }
                    else
                    {
                        SheetModel = SheetModel.FORMULA;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #18
0
 private void TxtBBillNo_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
 {
     if (e.Key == System.Windows.Input.Key.Enter)
     {
         try
         {
             if (string.IsNullOrEmpty(txtBBillNo.Text))
             {
                 return;
             }
             e.Handled = true;
             var taskId = DataFactory.Instance.GetInterfaceExecuter().ExecTask(ExecTaskType.CreateVoucher, "sp_generatevoucherbybillno", new Dictionary <string, object> {
                 { "billNo", txtBBillNo.Text }
             });
             var taskResult = DataFactory.Instance.GetInterfaceExecuter().GetTaskResult(taskId);
             if (taskResult == null)
             {
                 FinanceMessageBox.Error("生成结果为空,请联系工程师处理。");
                 return;
             }
             if (taskResult.status == 1)
             {
                 var lst = DataFactory.Instance.GetVoucherExecuter().List(new Dictionary <string, object> {
                     { "linkNo", txtBBillNo.Text }
                 });
                 if (lst != null && lst.Count > 0)
                 {
                     mid = lst.FirstOrDefault().header.id;
                     LoadVoucher(mid);
                 }
                 else
                 {
                     FinanceMessageBox.Error("未找到关联的凭证,请联系工程师处理。");
                 }
             }
             else
             {
                 FinanceMessageBox.Error(taskResult.result);
             }
         }
         catch (Exception ex)
         {
             FinanceMessageBox.Error(ex.Message);
         }
     }
 }
Пример #19
0
 private void Ok_Click(object sender, RoutedEventArgs e)
 {
     if (FilterPopupEvent != null)
     {
         FilterPopupEventArgs args = new FilterPopupEventArgs {
             Filter = ReadFilter()
         };
         try
         {
             FilterPopupEvent(args);
         }
         catch (Exception ex)
         {
             FinanceMessageBox.Error(ex.Message);
         }
     }
     Close();
 }
Пример #20
0
        void Popup()
        {
            var item = datagrid.SelectedItem as AccountSubject;

            if (item != null)
            {
                var frm = new FormAccountSubjectPopup();
                frm.ItemSource     = item;
                frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                    FinanceForm_Loaded(datagrid, null);
                });
                frm.ShowDialog();
            }
            else
            {
                FinanceMessageBox.Info("请选中一个科目");
            }
        }
Пример #21
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "save":
                    var lst      = datagrid.ItemsSource as List <AccessRightListItem>;
                    var saveData = new List <AccessRight>();
                    lst.ForEach(item => {
                        if (listView.SelectedItem != null)
                        {
                            var user     = listView.SelectedItem as User;
                            var access   = new AccessRight();
                            access.group = item.first;
                            access.name  = item.second;
                            access.mask  = item.isAllow ? 1 : 0;
                            access.id    = user.Id;
                            saveData.Add(access);
                        }
                    });
                    if (saveData.Count > 0)
                    {
                        DataFactory.Instance.GetSystemProfileExecuter().SaveAccessRight(saveData);
                    }
                    FinanceMessageBox.Info("保存成功");
                    break;

                case "allow":
                    CheckAll(true);
                    break;

                case "unallow":
                    CheckAll(false);
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #22
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "new":
                    AuxiliaryView_Selected(null);
                    break;

                case "modify":
                    if (auxiliaryView.SelectedAuxiliaryObj == null)
                    {
                        FinanceMessageBox.Info("请选中一个项目");
                        return;
                    }
                    AuxiliaryView_Selected(auxiliaryView.SelectedAuxiliaryObj);
                    break;

                case "delete":
                    var item = auxiliaryView.SelectedAuxiliaryObj;
                    if (item != null)
                    {
                        var ret = FinanceMessageBox.Quest(string.Format("确认要删除[{0}::{1}]吗?", item.no, item.name));
                        if (MessageBoxResult.Yes == ret)
                        {
                            DataFactory.Instance.GetAuxiliaryExecuter().Delete(item.id);
                            auxiliaryView.Refresh();
                        }
                    }
                    else
                    {
                        FinanceMessageBox.Info("请选中一个项目");
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #23
0
        void Popup()
        {
            var item = datagrid.SelectedItem as MenuTableMap;

            if (item != null)
            {
                var frm = new FormMenuEditPopup();
                frm.ItemSource     = item;
                frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                    FinanceForm_Loaded(datagrid, null);
                });
                frm.ShowDialog();
                FinanceForm_Loaded(datagrid, null);
            }
            else
            {
                FinanceMessageBox.Info("请选中一个项目");
            }
        }
Пример #24
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                var lst = datagrid.ItemsSource as List <CarriedForwardTemplate>;
                //switch (txt)
                //{
                //case "save":
                //    if (lst.Count > 0)
                //    {
                //        DataFactory.Instance.GetTemplateExecuter().SaveCarriedForwardTemplate(lst);
                //    }
                //    FinanceMessageBox.Info("保存成功");
                //    ListView_SelectionChanged(null,null);
                //    break;
                //case "append":
                //    var item = listView.SelectedItem as Auxiliary;

                //    lst.Add(new CarriedForwardTemplate { id = item.id });

                //    datagrid.ItemsSource = null;
                //    datagrid.ItemsSource = lst;
                //    break;
                //case "delete":
                //    if (datagrid.SelectedItem == null)
                //        return;
                //    var tmp = datagrid.SelectedItem as CarriedForwardTemplate;
                //    if (tmp == null)
                //        return;
                //    lst.Remove(tmp);
                //    datagrid.ItemsSource = null;
                //    datagrid.ItemsSource = lst;
                //    break;
                //}
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #25
0
        void Popup()
        {
            var item = datagrid.SelectedItem as User;

            if (item != null)
            {
                var frm = new FormUserPopup();
                frm.UserId         = item.Id;
                frm.UserName       = item.Name;
                frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                    FinanceForm_Loaded(datagrid, null);
                });
                frm.ShowDialog();
                FinanceForm_Loaded(datagrid, null);
            }
            else
            {
                FinanceMessageBox.Info("请选中一个用户");
            }
        }
Пример #26
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "new":
                    var frm = new FormUdefTemplatePopup();
                    frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                        FinanceForm_Loaded(datagrid, null);
                    });
                    frm.ShowDialog();
                    break;

                case "modify":
                    Popup();
                    break;

                case "delete":
                    foreach (var item in datagrid.SelectedItems)
                    {
                        var udefTemp = item as UdefTemplateItem;
                        if (udefTemp != null)
                        {
                            DataFactory.Instance.GetTemplateExecuter().DeleteUdefTemplate(udefTemp);
                        }
                    }
                    FinanceForm_Loaded(null, null);
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #27
0
        private void Datagrid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            try
            {
                var item = datagrid.SelectedItem as DataRowView;
                if (item != null)
                {
                    int i       = 0;
                    var bFinded = false;
                    for (i = 0; i < mHeaderList.Count; i++)
                    {
                        var header = mHeaderList[i];
                        if (header.label == "ID")
                        {
                            bFinded = true;
                            break;
                        }
                    }
                    if (bFinded)
                    {
                        var  idStr = item.Row.ItemArray[i].ToString();
                        long id    = 0;
                        if (long.TryParse(idStr, out id))
                        {
                            ShowSelectedItemEvent?.Invoke(id);
                        }
                    }
                }

                e.Handled = true;
            }
            catch (Exception ex)
            {
                FinanceMessageBox.Error(ex.Message + "\r\n以数据集中作为ID列的数字找到凭证的,请检查存储过程是否正确。");
            }
        }
Пример #28
0
        private void UserDefinePanel_DataValueChangeEvent(object sender, DataChangedArgs e)
        {
            try
            {
                var uDefInput = sender as UserDefineInput;
                if (uDefInput == null)
                {
                    return;
                }

                var tagLabel = uDefInput.TagLabel;
                if (string.IsNullOrEmpty(tagLabel))
                {
                    return;
                }
                var udefList = userDefinePanel.DataSource;
                var flags    = tagLabel.Split('|');
                var f1       = flags[0];
                var f2       = "empty";
                if (flags.Length > 1)
                {
                    f2 = flags[1];
                }

                if (f1 == "price" || f1 == "qty" || f1 == "amount")
                {
                    var udefKey = mAccountSubjectChangeArgs.Name;
                    if (string.IsNullOrEmpty(udefKey))
                    {
                        LogError("GetCurrentUserDefineKey failed!");
                        return;
                    }

                    var priceItem  = udefList.FirstOrDefault(item => matched(item, f2, "price"));
                    var qtyItem    = udefList.FirstOrDefault(item => matched(item, f2, "qty"));
                    var amountItem = udefList.FirstOrDefault(item => matched(item, f2, "amount"));

                    decimal price = 0; decimal qty = 0; decimal amount = 0;
                    if (priceItem != null)
                    {
                        decimal.TryParse(priceItem.DataValue.ToString(), out price);
                    }
                    if (qtyItem != null)
                    {
                        decimal.TryParse(qtyItem.DataValue.ToString(), out qty);
                    }
                    if (amountItem != null)
                    {
                        decimal.TryParse(amountItem.DataValue.ToString(), out amount);
                    }

                    if (f1 == "amount")
                    {
                        if (qty != 0)
                        {
                            price = decimal.Round(amount / qty, 2);
                            var priceInput = userDefinePanel.FindInputByName(priceItem.Name);
                            if (priceInput != null)
                            {
                                priceInput.DataValue = price;
                            }
                        }
                        else if (price != 0)
                        {
                            qty = decimal.Round(amount / price, 2);
                            var qtyInput = userDefinePanel.FindInputByName(qtyItem.Name);
                            if (qtyInput != null)
                            {
                                qtyInput.DataValue = qty;
                            }
                        }
                    }
                    else
                    {
                        amount = decimal.Round(price * qty, 2);
                        if (amountItem != null)
                        {
                            var amountInput = userDefinePanel.FindInputByName(amountItem.Name);
                            if (amountInput != null)
                            {
                                amountInput.DataValue = amount;
                            }
                        }
                    }

                    CalcTotal(f2, amount);
                }
            }
            catch (Exception ex)
            {
                LogError(ex.ToString());
                e.Cancel = true;
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #29
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var txt = (sender as Button).Name;
                switch (txt)
                {
                case "new":
                    var frm = new FormAccountSubjectPopup();
                    frm.AfterSaveEvent = new AfterSaveEventHandler(() => {
                        FinanceForm_Loaded(datagrid, null);
                    });
                    frm.ShowDialog();
                    break;

                case "modify":
                    Popup();
                    break;

                case "delete":
                    var item = datagrid.SelectedItem as AccountSubject;
                    if (item != null)
                    {
                        var ret = FinanceMessageBox.Quest(string.Format("确认要删除科目[{0}-{1}]吗?", item.no, item.name));
                        if (MessageBoxResult.Yes == ret)
                        {
                            DataFactory.Instance.GetAccountSubjectExecuter().Delete(item.id);
                            FinanceForm_Loaded(datagrid, null);
                        }
                    }
                    else
                    {
                        FinanceMessageBox.Info("请选中一个科目");
                    }
                    break;

                case "disable":
                    var item1 = datagrid.SelectedItem as AccountSubject;
                    if (item1 != null)
                    {
                        var ret = FinanceMessageBox.Quest(string.Format("确认要禁用科目[{0}-{1}]吗?", item1.no, item1.name));
                        if (MessageBoxResult.Yes == ret)
                        {
                            DataFactory.Instance.GetAccountSubjectExecuter().SetStatus(item1.id, 1);
                            FinanceForm_Loaded(datagrid, null);
                        }
                    }
                    else
                    {
                        FinanceMessageBox.Info("请选中一个科目");
                    }
                    break;

                case "enable":
                    var item2 = datagrid.SelectedItem as AccountSubject;
                    if (item2 != null)
                    {
                        var ret = FinanceMessageBox.Quest(string.Format("确认要启用科目[{0}-{1}]吗?", item2.no, item2.name));
                        if (MessageBoxResult.Yes == ret)
                        {
                            DataFactory.Instance.GetAccountSubjectExecuter().SetStatus(item2.id, 0);
                            FinanceForm_Loaded(datagrid, null);
                        }
                    }
                    else
                    {
                        FinanceMessageBox.Info("请选中一个科目");
                    }
                    break;

                case "refresh":
                    FinanceForm_Loaded(datagrid, null);
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }
Пример #30
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (mVoucherGridLayouting)
                {
                    return;
                }
                var txt = (sender as Button).Name;
                logger.Debug("btn_Click[{0}]", txt);
                switch (txt)
                {
                case "new":
                    New();
                    break;

                case "append":
                    voucherGrid.AppendRow();
                    break;

                case "insert":
                    voucherGrid.InsertRow(voucherGrid.CurrentRowIndex);
                    break;

                case "delete":
                    voucherGrid.DeleteRow(voucherGrid.CurrentRowIndex);
                    break;

                case "save":
                    var v = ReadVoucher();
                    v.header.id = mid;
                    mid         = DataFactory.Instance.GetVoucherExecuter().Save(v);
                    New();
                    //LoadVoucher(mid);
                    break;

                case "check":
                    DataFactory.Instance.GetVoucherExecuter().Check(mid);
                    LoadVoucher(mid);
                    break;

                case "uncheck":
                    DataFactory.Instance.GetVoucherExecuter().UnCheck(mid);
                    LoadVoucher(mid);
                    break;

                case "cancel":
                    DataFactory.Instance.GetVoucherExecuter().Cancel(mid);
                    LoadVoucher(mid);
                    break;

                case "uncancel":
                    DataFactory.Instance.GetVoucherExecuter().UnCancel(mid);
                    LoadVoucher(mid);
                    break;

                case "previous":
                    LoadVoucher(mid, LINKED.PREVIOUS);
                    break;

                case "next":
                    LoadVoucher(mid, LINKED.NEXT);
                    break;

                case "print":
                    PrintVocher();
                    break;

                case "calloff":
                    if (mid == 0)
                    {
                        New();
                    }
                    else
                    {
                        LoadVoucher(mid);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                FinanceMessageBox.Error(ex.Message);
            }
        }