コード例 #1
0
        /// <summary>
        /// Updates the pass req.
        /// </summary>
        /// <param name="passReq">The pass req.</param>
        /// <returns></returns>
        public static PassRequestHed UpdatePassReq(PassRequestHed passReq)
        {
            passReq.Issued = true;
            passReq.Paid   = true;

            return(passReq);
        }
コード例 #2
0
        public ActionResult Create(PaymentDetail paymentdetail, int reqno, decimal price)
        {
            try
            {
                int Ref = 0;

                // Get relevent request details
                PassRequestHed passReq = new PassRequestHed();
                passReq = db.PassRequestHeds.Find(reqno);

                PassIssueController PIC = new PassIssueController();
                using (TransactionScope Scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    Ref = PIC.SavePassIssueHed(PassIssueFacade.MapModelToHed(passReq));
                    if (Ref > 0)
                    {
                        PIC.SavePassIssueDet(PassIssueFacade.MapModelToDet(passReq), Ref);
                        PIC.SavePassIssueVehi(PassIssueFacade.MapModelToVehi(passReq), Ref);

                        // Save Payment details
                        paymentdetail.PassNo      = Ref;
                        paymentdetail.PassTotal   = price;
                        paymentdetail.AddDate     = DateTime.Now;
                        paymentdetail.PaymentDate = DateTime.Now.Date;
                        paymentdetail.AddUser     = WebSecurity.CurrentUserName;
                        db.PaymentDetails.Add(paymentdetail);

                        // Update Pass request (Paid & Issued flags)
                        passReq = PassIssueFacade.UpdatePassReq(passReq);
                        db.Entry(passReq).State = System.Data.EntityState.Modified;
                        db.SaveChanges();

                        Scope.Complete();
                    }
                }

                return(RedirectToAction("Complete"));
            }

            catch (DbEntityValidationException ex)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);

                // Throw a new DbEntityValidationException with the improved exception message.
                throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
コード例 #3
0
        public JsonResult JsonCreateRequest(PassRequestHed passReq)
        {
            int Ref = 0;

            try
            {
                Ref = PassRequestFacade.SavePassRequest(passReq);
            }
            catch (DbEntityValidationException ex)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = ex.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join("; ", errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);

                // Throw a new DbEntityValidationException with the improved exception message.
                throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
            }

            return(Json(new { refNo = Ref }));
        }
コード例 #4
0
        public ActionResult DeleteConfirmed(string id)
        {
            PassRequestHed passrequesthed = db.PassRequestHeds.Find(id);

            db.PassRequestHeds.Remove(passrequesthed);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #5
0
        //
        // GET: /PassRequest/Delete/5

        public ActionResult Delete(string id = null)
        {
            PassRequestHed passrequesthed = db.PassRequestHeds.Find(id);

            if (passrequesthed == null)
            {
                return(HttpNotFound());
            }
            return(View(passrequesthed));
        }
コード例 #6
0
        //
        // GET: /PassRequest/Details/5

        public ActionResult Details(int id)
        {
            PassRequestHed passrequesthed = db.PassRequestHeds.Find(id);

            if (passrequesthed == null)
            {
                return(HttpNotFound());
            }
            return(View(passrequesthed));
        }
コード例 #7
0
        /// <summary>
        /// Maps the model to hed.
        /// </summary>
        /// <param name="passReq">The pass req.</param>
        /// <returns></returns>
        public static PassRequestHed MapModelToHed(PassRequestHed passReq)
        {
            PassRequestHed Obj = new PassRequestHed();

            Obj.RequiredFrom = passReq.RequiredFrom;
            Obj.RequiredTo   = passReq.RequiredTo;
            Obj.Comments     = passReq.Comments;

            return(Obj);
        }
コード例 #8
0
        /// <summary>
        /// Captures the specified authorization identifier.
        /// </summary>
        /// <param name="authorizationId">The authorization identifier.</param>
        /// <returns></returns>
        public ActionResult Capture(string authorizationId)
        {
            var viewData = new PayPalViewData();

            try
            {
                var accessToken   = new OAuthTokenCredential(ConfigManager.Instance.GetProperties()["ClientID"], ConfigManager.Instance.GetProperties()["ClientSecret"]).GetAccessToken();
                var apiContext    = new APIContext(accessToken);
                var authorization = Authorization.Get(apiContext, authorizationId);

                if (authorization != null)
                {
                    var total = Convert.ToDecimal(authorization.amount.total);

                    var capture = authorization.Capture(apiContext, new Capture
                    {
                        is_final_capture = true,
                        amount           = new Amount
                        {
                            currency = "USD",
                            total    = (total + (total * .05m)).ToString("f2")
                        },
                    });

                    viewData.JsonResponse = JObject.Parse(capture.ConvertToJson()).ToString(Formatting.Indented);

                    // Newly added
                    // Sends the Sms
                    var smsId            = HttpContext.Application["smsId"].ToString();
                    PaymentController PC = new PaymentController();
                    TempData["SMS"] = PC.SendSms(smsId);

                    // Get relevent request details
                    PassRequestHed passReq = new PassRequestHed();
                    passReq = db.PassRequestHeds.Find(Convert.ToInt16(smsId));

                    // Update Pass request (Paid & Issued flags)
                    passReq = PassIssueFacade.UpdatePassReq(passReq);
                    db.Entry(passReq).State = System.Data.EntityState.Modified;
                    db.SaveChanges();

                    return(View("Success"));
                }

                viewData.ErrorMessage = "Could not find previous authorization.";

                return(View("Error", viewData));
            }
            catch (PayPalException ex)
            {
                viewData.ErrorMessage = ex.Message;

                return(View("Error", viewData));
            }
        }
コード例 #9
0
        public static PassIssueHed MapModelToHed(PassRequestHed passReq)
        {
            PassIssueHed Obj = new PassIssueHed();

            Obj.PassReqNo = passReq.PassReqNo;
            Obj.ValidFrom = passReq.RequiredFrom;
            Obj.ValidTo   = passReq.RequiredTo;
            Obj.IssueDate = DateTime.Today.Date;

            return(Obj);
        }
コード例 #10
0
        public int SavePassReqHed(PassRequestHed Hed)
        {
            Hed.AddDate   = DateTime.Now;
            Hed.AddUser   = WebSecurity.CurrentUserName;
            Hed.CompanyID = db.UserProfiles.Where(u => u.UserName == WebSecurity.CurrentUserName).Select(s => s.CompanyID).First();
            Hed.Issued    = false;
            Hed.Paid      = false;

            if (ModelState.IsValid)
            {
                db.PassRequestHeds.Add(Hed);
                db.SaveChanges();
            }

            return(Hed.PassReqNo);
        }
コード例 #11
0
        public static List <PassIssueVehicle> MapModelToVehi(PassRequestHed passReq)
        {
            List <PassIssueVehicle> Obj = new List <PassIssueVehicle>();
            Entities db = new Entities();

            foreach (PassReqVehicle Item in passReq.PassReqVehicles)
            {
                if (Item.VehicleNo != null)
                {
                    Obj.Add(new PassIssueVehicle()
                    {
                        VehicleNo = Item.VehicleNo,
                    });
                }
            }

            return(Obj);
        }
コード例 #12
0
        public static List <PassIssueDet> MapModelToDet(PassRequestHed passReq)
        {
            List <PassIssueDet> Obj = new List <PassIssueDet>();
            Entities            db  = new Entities();

            foreach (PassRequestDet Item in passReq.PassRequestDets)
            {
                if (Item.PersonNIC != null)
                {
                    Obj.Add(new PassIssueDet()
                    {
                        PersonNIC = Item.PersonNIC,
                        MobileNo  = Item.MobileNo,
                    });
                }
            }

            return(Obj);
        }
コード例 #13
0
        /// <summary>
        /// Maps the model to vehi.
        /// </summary>
        /// <param name="passReq">The pass req.</param>
        /// <returns></returns>
        public static List <PassReqVehicle> MapModelToVehi(PassRequestHed passReq)
        {
            Entities db = new Entities();
            List <PassReqVehicle> Obj = new List <PassReqVehicle>();

            foreach (PassReqVehicle Item in passReq.PassReqVehicles)
            {
                if (Item.VehicleNo != null)
                {
                    Obj.Add(new PassReqVehicle()
                    {
                        VehicleCode = Item.VehicleCode,
                        VehicleNo   = Item.VehicleNo,
                        VehicleFee  = db.VehicleTypes.Where(v => v.VehicleCode == Item.VehicleCode).Select(t => t.VehicleFee).First(),
                    });
                }
            }

            return(Obj);
        }
コード例 #14
0
        //Entities db = new Entities();

        /// <summary>
        /// Saves the pass request.
        /// </summary>
        /// <param name="passReq">The pass req.</param>
        /// <returns></returns>
        public static int SavePassRequest(PassRequestHed passReq)
        {
            int Ref;

            PassRequestController PRC = new PassRequestController();

            using (TransactionScope Scope = new TransactionScope(TransactionScopeOption.Required))
            {
                Ref = PRC.SavePassReqHed(MapModelToHed(passReq));
                if (Ref > 0)
                {
                    PRC.SavePassReqDet(MapModelToDet(passReq), Ref);
                    PRC.SavePassReqVehi(MapModelToVehi(passReq), Ref);

                    Scope.Complete();
                }
            }

            return(Ref);
        }
コード例 #15
0
        /// <summary>
        /// Maps the model to det.
        /// </summary>
        /// <param name="passReq">The pass req.</param>
        /// <returns></returns>
        public static List <PassRequestDet> MapModelToDet(PassRequestHed passReq)
        {
            Entities db = new Entities();
            List <PassRequestDet> Obj = new List <PassRequestDet>();

            foreach (PassRequestDet Item in passReq.PassRequestDets)
            {
                if (Item.PersonNIC != null)
                {
                    Obj.Add(new PassRequestDet()
                    {
                        PersonName = Item.PersonName,
                        PersonNIC  = Item.PersonNIC,
                        PassCode   = Item.PassCode,
                        MobileNo   = Item.MobileNo,
                        PassFee    = db.PassTypes.Where(p => p.PassCode == Item.PassCode).Select(t => t.PassFee).First(),
                    });
                }
            }

            return(Obj);
        }