コード例 #1
0
 public static CashService GetCashService()
 {
     if (_cashService == null)
     {
         _cashService = new CashService(new CashTransactions());
     }
     return(_cashService);
 }
コード例 #2
0
        public void Initialize()
        {
            var memoryService     = new PhoneMemoryService();
            var iconsService      = new IconsService();
            var statisticsManager = new StatisticsManager();

            var options     = new Options(memoryService);
            var dataContext = new DataContext(memoryService);

            var skyDriveFileManager = new SkyDriveFileManager(memoryService);
            var skyDriveService     = new SkyDriveService(dataContext, skyDriveFileManager);

            var csvDataExportService = new CsvDataExportService(memoryService);

            var cashService                  = new CashService(dataContext);
            var tileService                  = new TileService(dataContext);
            var categoryUsageService         = new CategoryUsageService(dataContext.Operations);
            var dependenciesService          = new DependenciesService(dataContext, iconsService);
            var defaultCategoriesInitializer = new DefaultCategoriesInitializer(dataContext, iconsService);
            var accountInitializer           = new AccountsInitializer(dataContext);

            var ratesHtmlParser   = new RatesHtmlParser();
            var ratesWebClient    = new RatesWebClient();
            var ratesService      = new RatesService(memoryService, ratesHtmlParser, ratesWebClient);
            var depositCalculator = new DepositCalculator();
            var creaditCalculator = new CreditCalculator();

            _container.RegisterInstance <IPhoneMemoryService>(memoryService);
            _container.RegisterInstance <IIconsService>(iconsService);
            _container.RegisterInstance <IStatisticsManager>(statisticsManager);

            _container.RegisterInstance <Options>(options);
            _container.RegisterInstance <IDataContext>(dataContext);

            _container.RegisterInstance <ISkyDriveService>(skyDriveService);
            _container.RegisterInstance <IDataExportService>(csvDataExportService);
            _container.RegisterInstance <ICashService>(cashService);
            _container.RegisterInstance <IRatesService>(ratesService);
            _container.RegisterInstance <DepositCalculator>(depositCalculator);
            _container.RegisterInstance <CreditCalculator>(creaditCalculator);
        }
コード例 #3
0
 public PostsController(PostRepository postRepository, CashService cashService)
 {
     _postRepository = postRepository;
     _postRepository.Initialize();
     _cashService = cashService;
 }
コード例 #4
0
 public HomeController(ProductRepository productRepository, CashService cashService)
 {
     _productRepository = productRepository;
     productRepository.Initialize();
     _cashService = cashService;
 }
コード例 #5
0
ファイル: CustomerViewModel.cs プロジェクト: yurseli/sambapos
 public void UpdateDetailedInfo()
 {
     LastTicket        = Dao.Last <Ticket>(x => x.CustomerId == Model.Id, x => x.TicketItems);
     TotalTicketAmount = Dao.Sum <Ticket>(x => x.TotalAmount, x => x.CustomerId == Model.Id);
     AccountBalance    = CashService.GetAccountBalance(Model.Id);
 }
コード例 #6
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtCashName.Text != "")
            {
                DialogResult dr = MessageBox.Show("请确认信息没有错误,一旦录入则无法修改!", "警告提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (dr == DialogResult.Yes)
                {
                    Cash cash = new Cash();
                    cash.CashNo = txtCashNo.Text.Trim();
                    cash.CashName = txtCashName.Text.Trim();
                    cash.CashPrice = txtCashMoney.Text.Trim();
                    cash.CashClub = cboClub.Text;
                    cash.CashTime = dtpDate.Value;
                    cash.CashSource = txtFrom.Text.Trim();
                    cash.CashPerson = FrmMain.wk_WorkerName;
                    bool n = new CashService().AddCashInfo(cash);
                    if (n == true)
                    {
                        MessageBox.Show("录入成功!");
                        dgvCashList.AutoGenerateColumns = false;
                        dgvCashList.DataSource = new CashService().SelectCashInfoAll();
                        #region 获取添加操作日志所需的信息
                        OperationLog o = new OperationLog();
                        o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss"));
                        o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "进行资产录入,资产编号为:" + txtCashNo.Text.Trim();
                        o.OperationAccount = AdminInfo.Account + AdminInfo.Name;
                        #endregion
                        new OperationlogService().InsertOperationLog(o);
                        foreach (Control Ctrol in uiGroupBox1.Controls)
                        {
                            if (Ctrol is TextBox)
                            {
                                Ctrol.Text = "";
                            }
                        }

                    }
                    else
                    {
                        MessageBox.Show("录入失败,请检查数据格式是否存在错误或稍后再试!");
                    }
                }
                else
                {
                    MessageBox.Show("操作取消!");
                    foreach (Control Ctrol in uiGroupBox1.Controls)
                    {
                        if (Ctrol is TextBox)
                        {
                            Ctrol.Text = "";
                        }
                    }
                }


            }
            else
            {
                MessageBox.Show("信息填写不完整,请重试!");
            }

        }
コード例 #7
0
        private static string ReplaceDocumentVars(string document, Ticket ticket, int orderNo, int userNo, int departmentNo)
        {
            string result = document;

            if (string.IsNullOrEmpty(document))
            {
                return("");
            }

            result = FormatData(result, Resources.TF_TicketDate, () => ticket.Date.ToShortDateString());
            result = FormatData(result, Resources.TF_TicketTime, () => ticket.Date.ToShortTimeString());
            result = FormatData(result, Resources.TF_DayDate, () => DateTime.Now.ToShortDateString());
            result = FormatData(result, Resources.TF_DayTime, () => DateTime.Now.ToShortTimeString());
            result = FormatData(result, Resources.TF_UniqueTicketId, () => ticket.Id.ToString());
            result = FormatData(result, Resources.TF_TicketNumber, () => ticket.TicketNumber);
            result = FormatData(result, Resources.TF_LineOrderNumber, orderNo.ToString);
            result = FormatData(result, Resources.TF_TicketTag, ticket.GetTagData);
            result = FormatDataIf(true, result, "{DEPARTMENT}", () => GetDepartmentName(departmentNo));

            var ticketTagPattern = Resources.TF_OptionalTicketTag + "[^}]+}";

            while (Regex.IsMatch(result, ticketTagPattern))
            {
                var value = Regex.Match(result, ticketTagPattern).Groups[0].Value;
                var tags  = "";
                try
                {
                    var tag = value.Trim('{', '}').Split(':')[1];
                    tags = tag.Split(',').Aggregate(tags, (current, t) => current +
                                                    (!string.IsNullOrEmpty(ticket.GetTagValue(t.Trim()))
                        ? (t + ": " + ticket.GetTagValue(t.Trim()) + "\r")
                        : ""));
                    result = FormatData(result.Trim('\r'), value, () => tags);
                }
                catch (Exception)
                {
                    result = FormatData(result, value, () => "");
                }
            }

            const string ticketTag2Pattern = "{TICKETTAG:[^}]+}";

            while (Regex.IsMatch(result, ticketTag2Pattern))
            {
                var value    = Regex.Match(result, ticketTag2Pattern).Groups[0].Value;
                var tag      = value.Trim('{', '}').Split(':')[1];
                var tagValue = ticket.GetTagValue(tag);
                try
                {
                    result = FormatData(result, value, () => tagValue);
                }
                catch (Exception)
                {
                    result = FormatData(result, value, () => "");
                }
            }

            var userName = AppServices.MainDataContext.GetUserName(userNo);

            var title = ticket.LocationName;

            if (string.IsNullOrEmpty(ticket.LocationName))
            {
                title = userName;
            }

            result = FormatData(result, Resources.TF_TableOrUserName, () => title);
            result = FormatData(result, Resources.TF_UserName, () => userName);
            result = FormatData(result, Resources.TF_TableName, () => ticket.LocationName);
            result = FormatData(result, Resources.TF_TicketNote, () => ticket.Note ?? "");
            result = FormatData(result, Resources.TF_AccountName, () => ticket.CustomerName);
            result = FormatData(result, "{ACC GROUPCODE}", () => ticket.CustomerGroupCode);

            if (ticket.CustomerId > 0 && (result.Contains(Resources.TF_AccountAddress) || result.Contains(Resources.TF_AccountPhone) || result.Contains("{ACC NOTE}")))
            {
                var customer = Dao.SingleWithCache <Customer>(x => x.Id == ticket.CustomerId);
                result = FormatData(result, Resources.TF_AccountAddress, () => customer.Address);
                result = FormatData(result, Resources.TF_AccountPhone, () => customer.PhoneNumber);
                result = FormatData(result, "{ACC NOTE}", () => customer.Note);
            }

            if (ticket.CustomerId > 0 && result.Contains("{ACC BALANCE}"))
            {
                var accBalance = CashService.GetAccountBalance(ticket.CustomerId);
                result = FormatDataIf(accBalance != 0, result, "{ACC BALANCE}", () => accBalance.ToString("#,#0.00"));
            }

            result = RemoveTag(result, Resources.TF_AccountAddress);
            result = RemoveTag(result, Resources.TF_AccountPhone);

            var payment             = ticket.GetPaymentAmount();
            var remaining           = ticket.GetRemainingAmount();
            var discount            = ticket.GetDiscountAndRoundingTotal();
            var plainTotal          = ticket.GetPlainSum();
            var giftAmount          = ticket.GetTotalGiftAmount();
            var vatAmount           = GetTaxTotal(ticket.TicketItems, plainTotal, ticket.GetDiscountTotal());
            var taxServicesTotal    = ticket.GetTaxServicesTotal();
            var ticketPaymentAmount = ticket.GetPaymentAmount();

            result = FormatDataIf(vatAmount > 0 || discount > 0 || taxServicesTotal > 0, result, "{PLAIN TOTAL}", () => plainTotal.ToString("#,#0.00"));
            result = FormatDataIf(discount > 0, result, "{DISCOUNT TOTAL}", () => discount.ToString("#,#0.00"));
            result = FormatDataIf(vatAmount > 0, result, "{TAX TOTAL}", () => vatAmount.ToString("#,#0.00"));
            result = FormatDataIf(taxServicesTotal > 0, result, "{SERVICE TOTAL}", () => taxServicesTotal.ToString("#,#0.00"));
            result = FormatDataIf(vatAmount > 0, result, "{TAX DETAILS}", () => GetTaxDetails(ticket.TicketItems, plainTotal, discount));
            result = FormatDataIf(taxServicesTotal > 0, result, "{SERVICE DETAILS}", () => GetServiceDetails(ticket));

            result = FormatDataIf(payment > 0, result, Resources.TF_RemainingAmountIfPaid,
                                  () => string.Format(Resources.RemainingAmountIfPaidValue_f, payment.ToString("#,#0.00"), remaining.ToString("#,#0.00")));

            result = FormatDataIf(discount > 0, result, Resources.TF_DiscountTotalAndTicketTotal,
                                  () => string.Format(Resources.DiscountTotalAndTicketTotalValue_f, (plainTotal).ToString("#,#0.00"), discount.ToString("#,#0.00")));

            result = FormatDataIf(giftAmount > 0, result, Resources.TF_GiftTotal, () => giftAmount.ToString("#,#0.00"));
            result = FormatDataIf(discount < 0, result, Resources.TF_IfFlatten, () => string.Format(Resources.IfNegativeDiscountValue_f, discount.ToString("#,#0.00")));

            result = FormatData(result, Resources.TF_TicketTotal, () => ticket.GetSum().ToString("#,#0.00"));

            result = FormatDataIf(ticketPaymentAmount > 0, result, Resources.TF_TicketPaidTotal, () => ticketPaymentAmount.ToString("#,#0.00"));
            result = FormatData(result, Resources.TF_TicketRemainingAmount, () => ticket.GetRemainingAmount().ToString("#,#0.00"));

            result = FormatData(result, "{TOTAL TEXT}", () => HumanFriendlyInteger.CurrencyToWritten(ticket.GetSum()));
            result = FormatData(result, "{TOTALTEXT}", () => HumanFriendlyInteger.CurrencyToWritten(ticket.GetSum(), true));

            result = UpdateGlobalValues(result);

            return(result);
        }
コード例 #8
0
 public static List <Cash> SelectCashInfoAll()
 {
     return(CashService.SelectCashInfoAll());
 }
コード例 #9
0
 public CashController(CashService cas)
 {
     _cas = cas;
 }
コード例 #10
0
 public static object AddCashInfo(Cash cash)
 {
     return(CashService.AddCashInfo(cash));
 }