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)); }
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)); }
/// <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)); }
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. } } }); }