示例#1
0
        public ContentResult PaymentListForMyList(Lib.GridPager pager, string code, int status = -2)
        {
            IQueryable <T_Payment> list = db.T_Payment.Where(s => s.PostUser.Equals(UserModel.Name) && s.IsDelete == 0).AsQueryable();

            if (!string.IsNullOrWhiteSpace(code))
            {
                list = list.Where(s => s.Reun_Code.Equals(code));
            }
            if (status != -2)
            {
                list = list.Where(s => s.Status == status);
            }
            pager.totalRows = list.Count();
            List <ExpenseCost> footerList = new List <ExpenseCost>();
            ExpenseCost        footer     = new ExpenseCost();

            footer.Car_Number = "总计:";
            if (list.Count() > 0)
            {
                footer.Reun_Cost = list.Sum(s => s.Reun_Cost);
            }
            else
            {
                footer.Reun_Cost = 0;
            }
            footerList.Add(footer);
            List <T_Payment> querData = list.OrderByDescending(s => s.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList();
            string           json     = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(querData, Lib.Comm.setTimeFormat()) + ",\"footer\":" + JsonConvert.SerializeObject(footerList, Lib.Comm.setTimeFormat()) + "}";

            return(Content(json));
        }
示例#2
0
        public ContentResult ViewPaymentCheckedList(Lib.GridPager pager, string user, string createDate, string endDate)
        {
            List <T_Payment> expenseList       = new List <T_Payment>();
            IQueryable <T_PaymentApprove> list = db.T_PaymentApprove.Where(s => s.ApproveName.Equals(UserModel.Nickname) && s.ApproveDate.HasValue);

            if (!string.IsNullOrWhiteSpace(createDate))
            {
                DateTime creat = DateTime.Parse(createDate + " 00:00:00");
                list = list.Where(s => s.ApproveDate >= creat);
            }
            if (!string.IsNullOrWhiteSpace(endDate))
            {
                DateTime end = DateTime.Parse(endDate + " 23:59:59");
                list = list.Where(s => s.ApproveDate <= end);
            }
            List <int> itemIds = new List <int>();

            foreach (var item in list.Select(s => new { itemId = s.Reunbursement_id }).GroupBy(s => s.itemId))
            {
                itemIds.Add(item.Key);
            }

            foreach (var item in itemIds)
            {
                T_Payment model = db.T_Payment.SingleOrDefault(s => s.ID == item && s.IsDelete == 0 && s.Status != 3);
                if (model != null)
                {
                    expenseList.Add(model);
                }
            }
            if (!string.IsNullOrWhiteSpace(user))
            {
                expenseList = expenseList.Where(s => s.PostUser.Contains(user)).ToList();
            }
            pager.totalRows = list.Count();
            List <ExpenseCost> footerList = new List <ExpenseCost>();
            ExpenseCost        footer     = new ExpenseCost();

            footer.Car_Number = "总计:";
            if (list.Count() > 0)
            {
                footer.Reun_Cost = expenseList.Sum(s => s.Reun_Cost);
            }
            else
            {
                footer.Reun_Cost = 0;
            }
            footerList.Add(footer);
            List <T_Payment> querData = expenseList.OrderByDescending(s => s.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList();
            string           json     = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(querData, Lib.Comm.setTimeFormat()) + ",\"footer\":" + JsonConvert.SerializeObject(footerList, Lib.Comm.setTimeFormat()) + "}";

            return(Content(json));
        }
示例#3
0
        /// <summary>
        /// 付款单列表
        /// </summary>
        /// <param name="pager"></param>
        /// <param name="code"></param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public ContentResult ViewPaymentList(Lib.GridPager pager, string code, string startDate, string endDate, int status = -2)
        {
            IQueryable <T_Payment> list = db.T_Payment.Where(s => s.IsDelete == 0).AsQueryable();

            if (!string.IsNullOrWhiteSpace(code))
            {
                list = list.Where(s => s.Reun_Code.Contains(code) || s.PostUser.Contains(code));
            }
            if (status != -2)
            {
                list = list.Where(s => s.Status == status);
            }
            if (!string.IsNullOrWhiteSpace(startDate))
            {
                DateTime start = DateTime.Parse(startDate + " 00:00:00");
                list = list.Where(s => s.CrateDate >= start);
            }
            else if (!string.IsNullOrWhiteSpace(endDate))
            {
                DateTime end = DateTime.Parse(endDate + " 23:59:59");
                list = list.Where(s => s.CrateDate <= end);
            }
            pager.totalRows = list.Count();
            List <ExpenseCost> footerList = new List <ExpenseCost>();
            ExpenseCost        footer     = new ExpenseCost();

            footer.Car_Number = "总计:";
            if (list.Count() > 0)
            {
                footer.Reun_Cost = list.Sum(s => s.Reun_Cost);
            }
            else
            {
                footer.Reun_Cost = 0;
            }
            footerList.Add(footer);
            List <T_Payment> querData = list.OrderByDescending(s => s.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList();
            string           json     = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(querData, Lib.Comm.setTimeFormat()) + ",\"footer\":" + JsonConvert.SerializeObject(footerList, Lib.Comm.setTimeFormat()) + "}";

            return(Content(json));
        }
示例#4
0
        public ExpenseViewModel()
        {
            picker = new MediaPicker();

            assignmentViewModel = ServiceContainer.Resolve <AssignmentViewModel>();

            addExpenseCommand = new DelegateCommand(async obj => {
                var expense = obj as Expense;
                if (expense != null)
                {
                    SelectedExpense  = expense;
                    CanDelete        = true;
                    AddExpenseHeader = "Expense";
                    await LoadPhotoAsync(expense);
                }
                else
                {
                    SelectedExpense  = new Expense();
                    CanDelete        = false;
                    AddExpenseHeader = "Add Expense";
                    Photo            = new ExpensePhoto();
                }
                if (addExpensePopUp != null && addExpensePopUp.IsOpen)
                {
                    addExpensePopUp.IsOpen = false;
                }
                addExpensePopUp                   = new Popup();
                addExpensePopUp.Height            = Window.Current.Bounds.Height;
                addExpensePopUp.Width             = Constants.PopUpWidth;
                AddExpenseFlyoutPanel flyoutpanel = new AddExpenseFlyoutPanel();
                flyoutpanel.Width                 = addExpensePopUp.Width;
                flyoutpanel.Height                = addExpensePopUp.Height;
                addExpensePopUp.Child             = flyoutpanel;
                addExpensePopUp.SetValue(Canvas.LeftProperty, Window.Current.Bounds.Width - Constants.PopUpWidth);
                addExpensePopUp.SetValue(Canvas.TopProperty, 0);
                addExpensePopUp.IsOpen = true;
            });

            saveExpenseCommand = new DelegateCommand(async _ => {
                selectedExpense.Cost         = ExpenseCost.ToDecimal(CultureInfo.InvariantCulture);
                selectedExpense.AssignmentId = assignmentViewModel.SelectedAssignment.Id;
                var task = SaveExpenseAsync(assignmentViewModel.SelectedAssignment, SelectedExpense);
                if (Photo != null && Photo.Image != null)
                {
                    task = task.ContinueWith(obj => {
                        Photo.ExpenseId = SelectedExpense.Id;
                    });
                    await SavePhotoAsync();
                }
                await LoadExpensesAsync(assignmentViewModel.SelectedAssignment);
                addExpensePopUp.IsOpen = false;
            });

            deleteExpenseCommand = new DelegateCommand(async _ => {
                await DeleteExpenseAsync(assignmentViewModel.SelectedAssignment, selectedExpense);
                await LoadExpensesAsync(assignmentViewModel.SelectedAssignment);
                addExpensePopUp.IsOpen = false;
            });

            cancelExpenseCommand = new DelegateCommand(_ => {
                addExpensePopUp.IsOpen = false;
            });

            addImageCommand = new DelegateCommand(async _ => {
                bool cameraCommand = false, imageCommand = false;
                var dialog         = new MessageDialog("Take picture with your built in camera or select one from your photo library.", "Add Image");
                if (picker.IsCameraAvailable)
                {
                    dialog.Commands.Add(new UICommand("Camera", new UICommandInvokedHandler(q => cameraCommand = true)));
                }
                dialog.Commands.Add(new UICommand("Library", new UICommandInvokedHandler(q => imageCommand = true)));

                await dialog.ShowAsync();

                if (cameraCommand)
                {
                    try {
                        var mediaFile = await picker.TakePhotoAsync(new StoreCameraMediaOptions());

                        var photo = await mediaFile.GetStream().LoadBytes();
                        if (Photo == null)
                        {
                            Photo = new ExpensePhoto {
                                ExpenseId = SelectedExpense.Id
                            }
                        }
                        ;
                        Photo.Image = photo;
                        OnPropertyChanged("Photo");
                    } catch (Exception exc) {
                        Debug.WriteLine(exc.Message);
                        //this could happen if they cancel, etc.
                    }
                }
                else if (imageCommand)
                {
                    try {
                        var mediaFile = await picker.PickPhotoAsync();

                        var photo = await mediaFile.GetStream().LoadBytes();
                        if (Photo == null)
                        {
                            Photo = new ExpensePhoto {
                                ExpenseId = SelectedExpense.Id
                            }
                        }
                        ;
                        Photo.Image = photo;
                        OnPropertyChanged("Photo");
                    } catch (Exception exc) {
                        Debug.WriteLine(exc.Message);
                        //this could happen if they cancel, etc.
                    }
                }
            });
        }