public ActionResult Payment(Guid?Id) { Permissions p = new Permissions(); bool auth = p.isGranted(User.Identity.Name, this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + this.ControllerContext.RouteData.Values["action"].ToString()); if (!auth) { return(new ViewResult() { ViewName = "Unauthorized" }); } else { HRWebApplication.Common.Master m = new Common.Master(); PaymentViewModels result = (from pRoll in db.Payroll where pRoll.Id == Id select new PaymentViewModels { No = pRoll.No, Amount = pRoll.Amount, IdUser = pRoll.Employee_UserAccounts_Id, hasPayment = pRoll.hasPayment }).Single(); result.Amount -= m.GetTotalPayment(Id.Value); ViewBag.listTarget = new SelectList(db.BankAccount.Where(x => x.Active == true && x.Owner_RefId.Value == result.IdUser).OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listSource = new SelectList(db.BankAccount.Where(x => x.Active == true && x.Internal == true).OrderBy(x => x.Name).ToList(), "Id", "Name"); return(View(result)); } }
public ActionResult Payment([Bind(Include = "Id,No,Source_BankAccounts_Id,Target_BankAccounts_Id,Amount,ConfirmationNumber,Notes,IdUser,HasPayment")] PaymentViewModels paymentVM) { Common.Master m = new Common.Master(); decimal remaining = db.Payroll.Where(x => x.Id == paymentVM.Id).Select(x => x.Amount).Single() - m.GetTotalPayment(paymentVM.Id); if (paymentVM.Amount > remaining) { ModelState.AddModelError("Over", "The field Amount can't greater than " + remaining.ToString("#,##0")); } if (ModelState.IsValid) { PaymentModels pay = new PaymentModels(); pay.Id = Guid.NewGuid(); pay.No = m.GetLastHexNo("payment").ToString("00000"); pay.Timestamp = DateTime.Now; pay.Source_BankAccounts_Id = paymentVM.Source_BankAccounts_Id; pay.Target_BankAccounts_Id = paymentVM.Target_BankAccounts_Id; pay.Amount = paymentVM.Amount; pay.ConfirmationNumber = paymentVM.ConfirmationNumber; pay.Notes = paymentVM.Notes; db.Payment.Add(pay); PaymentItemModels pi = new PaymentItemModels(); pi.Id = Guid.NewGuid(); pi.Payments_Id = pay.Id; pi.Transaction_RefId = paymentVM.Id; pi.Amount = paymentVM.Amount; pi.Notes = paymentVM.Notes; db.PaymentItem.Add(pi); db.SaveChanges(); if (!paymentVM.hasPayment) { using (var ctx = new HrContext()) { int result = ctx.Database.ExecuteSqlCommand("UPDATE Payrolls SET hasPayment='True' WHERE Id='" + paymentVM.Id + "'"); } } return(RedirectToAction("Payroll")); } ViewBag.listTarget = new SelectList(db.BankAccount.Where(x => x.Active == true && x.Owner_RefId.Value == paymentVM.IdUser).OrderBy(x => x.Name).ToList(), "Id", "Name"); ViewBag.listSource = new SelectList(db.BankAccount.Where(x => x.Active == true && x.Internal == true).OrderBy(x => x.Name).ToList(), "Id", "Name"); return(View(paymentVM)); }
public async Task <ActionResult> GoToDetails(PaymentViewModels model, string Amount, string PaymentMethod) { var save = new Payment { Amount = model.Amount, PayedTo = model.RecieverID, PaymentMethod = PaymentMethod, ProjectID = model.ProjectId }; db.Payment.Add(save); await db.SaveChangesAsync(); ModelState.AddModelError("", "Payment Succenfully Addedd"); return(View(model)); }
public async Task <ActionResult> GoToDetails(int id) { var findpro = await db.Payment.Where(i => i.ProjectID == id).FirstOrDefaultAsync(); var jobApprove = await db.Biding.Where(p => p.ProjectID == id && p.Status == "Approved").FirstOrDefaultAsync(); var value = new PaymentViewModels { Name = jobApprove.SiteUser.FirstName + " " + jobApprove.SiteUser.LastName, RecieverID = jobApprove.SiteUserID.ToString(), ProjectId = id, SenderID = jobApprove.Project.SiteUserID, MobileNumber = jobApprove.SiteUser.PhoneNumber, IDCard = jobApprove.SiteUser.IDCard }; return(View(value)); }
public ActionResult ProceedPayment() { var cartOnHold = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]); if (cartOnHold != null && cartOnHold.Count > 0) { using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities()) { var cartItemIds = cartOnHold.Select(c => c.ProductID).ToList(); var products = ce.Products.ToList(); var viewCartProducts = products.Where(pr => (pr.IsActive.ToLower().Equals("y")) && cartItemIds.Contains(pr.ProductID)).ToList(); List <CartViewModels> carDetModel = new List <CartViewModels>(); foreach (var item in cartOnHold) { var product = viewCartProducts.Find(p => p.ProductID == item.ProductID); var cvm = new CartViewModels(); cvm.ProductName = product.ProductName; cvm.Quantity = item.ProductQuantity; cvm.Price = product.Price; carDetModel.Add(cvm); } decimal cartTotalPrice = 0; carDetModel.ForEach(i => { cartTotalPrice += i.TotalPrice; }); //ViewBag.TotalPrice = cartTotalPrice; PaymentViewModels pvm = new PaymentViewModels(); pvm.cartDetailModel = carDetModel; pvm.PaymentAmount = cartTotalPrice; return(View("ProceedPayment", pvm)); } } else { return(RedirectToAction("CheckoutDetails", "Cart")); } }
public ActionResult ProceedPayment(PaymentViewModels payObj) { if (payObj != null && ModelState.IsValid) { BinaryFormatter bf = new BinaryFormatter(); var bytPayObj = null as byte[]; using (MemoryStream ms = new MemoryStream()) { bf.Serialize(ms, payObj); bytPayObj = ms.ToArray(); } try { WebClient client = new WebClient(); string url = paymetUrlBase; client.UseDefaultCredentials = true; //client.UploadData(paymetUrlBase, bytPayObj); client.DownloadString(url); //get the latest payment-id for the user action var paymentTransactionId = 12345; //confirm the result string result = JsonConvert.DeserializeObject <string>(client.DownloadString(url + paymentTransactionId)); if (result != null && result.ToLower().Contains("success")) { return(RedirectToAction("OrderConformation"));//,payObj); } else { payObj.PaymentFailureMessage = "Payment unsuccessful! please try again."; return(View(payObj)); } } catch (Exception e) { ViewBag.Message = "Something went wrong!!! Sorry Try again."; return(View("Error")); } } var cartOnHold = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]); if (cartOnHold != null && cartOnHold.Count > 0) { using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities()) { var cartItemIds = cartOnHold.Select(c => c.ProductID).ToList(); var products = ce.Products.ToList(); var viewCartProducts = products.Where(pr => (pr.IsActive.ToLower().Equals("y")) && cartItemIds.Contains(pr.ProductID)).ToList(); List <CartViewModels> carDetModel = new List <CartViewModels>(); foreach (var item in cartOnHold) { var product = viewCartProducts.Find(p => p.ProductID == item.ProductID); var cvm = new CartViewModels(); cvm.ProductName = product.ProductName; cvm.Quantity = item.ProductQuantity; cvm.Price = product.Price; carDetModel.Add(cvm); } decimal cartTotalPrice = 0; carDetModel.ForEach(i => { cartTotalPrice += i.TotalPrice; }); payObj.cartDetailModel = carDetModel; payObj.PaymentAmount = cartTotalPrice; } } return(View(payObj)); }