示例#1
0
        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));
            }
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#5
0
        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"));
            }
        }
示例#6
0
        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));
        }