public JsonResult DeleteMenu(string menuID)
        {
            FindItemReponse <MenuModel>       findParentMenu = _menuCategoryService.FindByID(menuID);
            FindAllItemReponse <ArticleModel> articleReponse = _articleService.FindArticleByMenuID(menuID);

            if (articleReponse.Items != null && articleReponse.Items.Count > 0)
            {
                return(Json(new { errorCode = (int)ErrorCode.Error, message = string.Format(Resources.AdminResource.msg_unableToDelete, findParentMenu.Item.Title) }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                //find sub menu
                if (findParentMenu.Item != null && findParentMenu.Item.SubMenus != null)
                {
                    foreach (var menu in findParentMenu.Item.SubMenus)
                    {
                        FindAllItemReponse <ArticleModel> articles = _articleService.FindArticleByMenuID(menu.MenuID);
                        if (articles == null || articles.Count == 0)
                        {
                            _menuCategoryService.DeleteMenu(menu.MenuID);
                        }
                    }
                }
            }
            BaseResponse response = _menuCategoryService.DeleteMenu(menuID);

            return(Json(new { errorCode = response.ErrorCode, message = response.Message }, JsonRequestBehavior.AllowGet));
        }
        //
        // GET: /Album/

        public ActionResult Index(int ActionURL = 1)
        {
            FindAllItemReponse <AlbumModel> response = _albumService.GetAlbum(Constants.Constants.ALBUM_PAGE_SIZE, ActionURL);

            ViewBag.CurrentNode = "Album";
            return(View(response));
        }
        public ActionResult Index()
        {
            FindAllItemReponse <PhotoModel> response      = _photoService.GetPhoto();
            FindAllItemReponse <AlbumModel> albumResponse = _albumService.GetAlbum();

            ViewBag.AlbumList = albumResponse.Items;
            return(View(response.Items));
        }
Example #4
0
        public ActionResult Index()
        {
            FindAllItemReponse <SliderModel> response = _slider.GetSliders();

            if (response.Items == null)
            {
                response.Items = new List <SliderModel>();
            }
            return(View(response.Items));
        }
Example #5
0
        public ActionResult Index()
        {
            FindAllItemReponse <UserModel> response = _userService.GetUsers();

            if (response.Items == null)
            {
                response.Items = new List <UserModel>();
            }
            return(View(response.Items));
        }
        public ActionResult Index()
        {
            FindAllItemReponse <ImportantDeadlineModel> response = _importantDeadline.GetImportantDeadlines();

            if (response.Items == null)
            {
                response.Items = new List <ImportantDeadlineModel>();
            }
            return(View(response.Items));
        }
Example #7
0
        public ActionResult YouthScholarships(string scholarshipID)
        {
            string sessionId = Session["User-SessionID"].ToString();

            Site.Core.Repository.User _user = SessionUtil.GetInstance.GetUserBySessionID(sessionId);

            FindItemReponse <YouthScholarshipModel> response = new FindItemReponse <YouthScholarshipModel>();

            if (_user != null)
            {
                response = _youthScholarshipService.FindByUserID(_user.UserID);
                if (response.Item == null)
                {
                    response.Item = new YouthScholarshipModel();
                }
            }

            //Find experiences
            FindAllItemReponse <ExperienceModel> experiencesResponse = _experienceService.FindByscholarshipID(response.Item.YouthScholarshipID);

            if (experiencesResponse.Items != null && experiencesResponse.Items.Count > 0)
            {
                response.Item.ExperienceTitles = string.Join(",", experiencesResponse.Items.Select(i => i.Organization));
            }
            //Find educations
            FindAllItemReponse <EducationModel> educationsResponse = _educationService.FindByscholarshipID(response.Item.YouthScholarshipID);

            if (educationsResponse.Items != null && educationsResponse.Items.Count > 0)
            {
                response.Item.EducationTitles = string.Join(",", educationsResponse.Items.Select(i => i.MainCourseStudy));
            }
            //Find trainings
            FindAllItemReponse <TrainingModel> trainingsResponse = _trainingService.FindByscholarshipID(response.Item.YouthScholarshipID);

            if (trainingsResponse.Items != null && trainingsResponse.Items.Count > 0)
            {
                response.Item.AdditionalTrainingTitles = string.Join(",", trainingsResponse.Items.Select(i => i.NameOfCourse));
            }
            //Find leadership
            FindAllItemReponse <LeaderShipModel> leadershipsResponse = _leadershipService.FindByscholarshipID(response.Item.YouthScholarshipID);

            if (leadershipsResponse.Items != null && leadershipsResponse.Items.Count > 0)
            {
                response.Item.LeaderShipTitles = string.Join(",", leadershipsResponse.Items.Select(i => i.Organization));
            }
            //Find publication
            FindAllItemReponse <PublicationModel> publicationsResponse = _publicationService.FindByscholarshipID(response.Item.YouthScholarshipID);

            if (publicationsResponse.Items != null && publicationsResponse.Items.Count > 0)
            {
                response.Item.PublicationTitles = string.Join(",", publicationsResponse.Items.Select(i => i.Title));
            }

            return(View(response.Item));
        }
Example #8
0
        public ActionResult AssignRole(string adminID)
        {
            //Find available roles
            FindAllItemReponse <RoleModel> availableRoles = _adminService.GetAvailableRoles(adminID);
            //Find assigned roles
            FindAllItemReponse <RoleModel> assignedRoles = _adminService.GetAssignedRoles(adminID);

            ViewBag.AvailableRoles = availableRoles.Items;
            ViewBag.AssignedRoles  = assignedRoles.Items;
            return(View());
        }
Example #9
0
        public ActionResult Index()
        {
            FindAllItemReponse <AdminModel>    adminResponse    = _adminService.GetStandardAdmins();
            FindAllItemReponse <RoleModel>     roleResponse     = _adminService.GetRoles();
            FindAllItemReponse <ResourceModel> resourceResponse = _adminService.GetResources();

            ViewBag.AdminList    = adminResponse.Items;
            ViewBag.RoleList     = roleResponse.Items;
            ViewBag.ResourceList = resourceResponse.Items;
            return(View());
        }
Example #10
0
        public ActionResult AssignResource(string roleID)
        {
            //Find available resources
            FindAllItemReponse <ResourceModel> availableResources = _adminService.GetAvailableResources(roleID);
            //Find assigned resources
            FindAllItemReponse <ResourceModel> assignedResources = _adminService.GetAssignedResources(roleID);

            ViewBag.AvailableResources = availableResources.Items;
            ViewBag.AssignedResources  = assignedResources.Items;
            return(View());
        }
Example #11
0
        //
        // GET: /ConferenceDeclaration/

        public ActionResult Index(int pageIndex = 1)
        {
            FindAllItemReponse <ConferenceDeclarationModel> response = _conService.GetConference(Constants.Constants.PAGE_SIZE, pageIndex);

            if (response.Items == null)
            {
                response.Items = new List <ConferenceDeclarationModel>();
            }
            ViewBag.CurrentNode = "Conference";
            return(View(response));
        }
Example #12
0
        //
        // GET: /Presentation/

        public ActionResult Index(int pageIndex = 1)
        {
            FindAllItemReponse <PresentationModel> response = _preService.GetPresentation(Constants.Constants.PAGE_SIZE, pageIndex);

            if (response.Items == null)
            {
                response.Items = new List <PresentationModel>();
            }
            ViewBag.CurrentNode = "Presentation";
            return(View(response));
        }
Example #13
0
        public FileStreamResult ExportUsers()
        {
            FindAllItemReponse <MailingAddressModel> mailing  = _mailingAddressService.GetMailingAddresses();
            FindAllItemReponse <UserModel>           response = _userService.GetUsers();

            using (ExcelPackage pck = new ExcelPackage())
            {
                IList <UserExportModel> export = BuildExportList(response.Items, mailing.Items);
                //if (response.Items != null)
                //{
                //    response.Items.Select(m => { m.MainScholarship = UserHelper.HasMainScholarship(m.UserID); m.YouthScholarship = UserHelper.HasYouthScholarship(m.UserID); return m; }).ToList();
                //}
                //Create the worksheet
                ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Members");
                //ExcelWorksheet wsMailing = pck.Workbook.Worksheets.Add("Mailing Address");

                //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
                ws.Cells["A1"].LoadFromCollection(export, true);
                //wsMailing.Cells["A1"].LoadFromCollection(mailingResponse.Items, true);

                //Format the header for column 1-3
                using (ExcelRange rng = ws.Cells["A1:AO1"])
                {
                    rng.Style.Font.Bold        = true;
                    rng.Style.Fill.PatternType = ExcelFillStyle.Solid;                      //Set Pattern for the background to Solid
                    rng.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(79, 129, 189));  //Set color to dark blue
                    rng.Style.Font.Color.SetColor(Color.White);
                }

                //Format the header for column 1-3
                //using (ExcelRange rng = wsMailing.Cells["A1:U1"])
                //{
                //    rng.Style.Font.Bold = true;
                //    rng.Style.Fill.PatternType = ExcelFillStyle.Solid;                      //Set Pattern for the background to Solid
                //    rng.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(79, 129, 189));  //Set color to dark blue
                //    rng.Style.Font.Color.SetColor(Color.White);
                //}
                //Example how to Format Column 1 as numeric
                //using (ExcelRange col = ws.Cells[2, 1, 2 + tbl.Rows.Count, 1])
                //{
                //    col.Style.Numberformat.Format = "#,##0.00";
                //    col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;
                //}

                //Write it back to the client
                //Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                //Response.AddHeader("content-disposition", "attachment;  filename=MembersList.xlsx");
                //Response.BinaryWrite(pck.GetAsByteArray());

                Stream stream = new MemoryStream(pck.GetAsByteArray());

                return(new FileStreamResult(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
            }
        }
Example #14
0
        public ActionResult AdminList()
        {
            var sessionId = this.Session["SessionID"].ToString();
            IUserSessionRepository userSessionRepository = RepositoryClassFactory.GetInstance().GetUserSessionRepository();
            UserSession            userSession           = userSessionRepository.FindByID(sessionId);

            FindAllItemReponse <AdminModel> response = _adminService.GetAdminsExceptMe(userSession.UserID);

            if (response.Items == null)
            {
                response.Items = new List <AdminModel>();
            }
            return(View(response.Items));
        }
Example #15
0
        public FileStreamResult ExportImages()
        {
            string zipFilePath = string.Empty;
            FindAllItemReponse <MailingAddressModel> response = _mailingAddressService.GetMailingAddresses();

            if (response.Items != null)
            {
                //Create zip file path
                zipFilePath = Path.Combine(Path.GetTempPath(), "images.zip");
                if (System.IO.File.Exists(zipFilePath))
                {
                    System.IO.File.Delete(zipFilePath);
                }

                //Initial zip
                using (Package zip = Package.Open(zipFilePath, FileMode.OpenOrCreate))
                {
                }

                //Create zip
                foreach (MailingAddressModel mailing in response.Items)
                {
                    var user = _userService.FindUserByID(mailing.UserID);
                    if (user.Item != null)
                    {
                        //photo 1
                        if (!string.IsNullOrEmpty(mailing.PassportPhoto1) && System.IO.File.Exists(Server.MapPath(mailing.PassportPhoto1)))
                        {
                            FileInfo fileInfo = new FileInfo(Server.MapPath(mailing.PassportPhoto1));
                            using (FileStream fileStream = new FileStream(Server.MapPath(mailing.PassportPhoto1), FileMode.Open, FileAccess.Read))
                            {
                                AddToZip(zipFilePath, fileStream, user.Item.FullName.Replace(' ', '-') + @"\" + fileInfo.Name);
                            }
                        }
                    }
                }
            }
            Stream stream = null;

            if (!string.IsNullOrEmpty(zipFilePath))
            {
                stream = new FileStream(zipFilePath, FileMode.Open);
            }
            else
            {
                stream = new MemoryStream();
            }
            return(new FileStreamResult(stream, "application/zip"));
        }
Example #16
0
        public JsonResult DeleteAlbum(string albumID)
        {
            FindItemReponse <AlbumModel> albumResponse = _albumService.FindAlbumByID(albumID);

            var albumActionURL = albumResponse.Item.ActionURL;
            FindAllItemReponse <PhotoModel> photoResponse = _photoService.GetPhotoByAlbum(albumActionURL, 1, 1);

            if (photoResponse.Items.Count == 0)
            {
                BaseResponse response = _albumService.DeleteAlbum(albumID);
                return(Json(new { ErrorCode = response.ErrorCode, Message = response.Message }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { ErrorCode = (int)ErrorCode.Error, Message = Resources.AdminResource.msg_notEmptyAlbum }, JsonRequestBehavior.AllowGet));
        }
Example #17
0
        public ActionResult Index()
        {
            var sessionId = this.Session["SessionID"].ToString();
            IUserSessionRepository userSessionRepository = RepositoryClassFactory.GetInstance().GetUserSessionRepository();
            UserSession            userSession           = userSessionRepository.FindByID(sessionId);

            string currentLanguage = Session["AdminCulture"] != null ? Session["AdminCulture"].ToString() : "EN";

            if (Session["AdminCulture"] == null)
            {
                Session["AdminCulture"] = currentLanguage;
            }

            FindAllItemReponse <MenuModel> menuReponse = _menuCategoryService.FindAllMenus(currentLanguage);

            return(View(menuReponse.Items));
        }
Example #18
0
        //
        // GET: /Photo/

        public ActionResult Index(string ActionURL, int pageIndex = 1)
        {
            FindItemReponse <AlbumModel> albumResponse = _albumService.FindAlbumByActionURL(ActionURL);

            if (albumResponse.Item != null)
            {
                ViewBag.Title = albumResponse.Item.Title;
            }
            FindAllItemReponse <PhotoModel> response = _photoService.GetPhotoByAlbum(ActionURL, Constants.Constants.PHOTO_PAGE_SIZE, pageIndex);

            if (response.Items == null)
            {
                response.Items = new List <PhotoModel>();
            }
            ViewBag.CurrentNode = "Photo";
            return(View(response));
        }
Example #19
0
        public ActionResult MainScholarships()
        {
            string sessionId = Session["User-SessionID"].ToString();

            Site.Core.Repository.User _user = SessionUtil.GetInstance.GetUserBySessionID(sessionId);

            FindAllItemReponse <MainScholarshipModel> response = new FindAllItemReponse <MainScholarshipModel>();

            if (_user != null)
            {
                response = _mainScholarshipService.FindByUserID(_user.UserID);
                if (response.Items == null)
                {
                    response.Items = new List <MainScholarshipModel>();
                }
            }
            return(View(response.Items));
        }
Example #20
0
        public ActionResult ViewConference(string ActionURL, int pageIndex = 1)
        {
            FindItemReponse <ConferenceDeclarationModel>    response   = _conService.FindConferenceByActionURL(ActionURL);
            FindAllItemReponse <ConferenceDeclarationModel> conReponse = new FindAllItemReponse <ConferenceDeclarationModel>();
            List <ConferenceDeclarationModel> list = new List <ConferenceDeclarationModel>();
            string subActionURL = string.Empty;

            if (response.Item != null)
            {
                list.Add(response.Item);
                FindAllItemReponse <ConferenceDeclarationModel> temp = _conService.GetRelatedConference(response.Item.CreatedDate, Constants.Constants.PAGE_SIZE, pageIndex);
                if (temp.Items != null)
                {
                    list.AddRange(temp.Items);
                    conReponse.Items = list;
                    conReponse.Count = temp.Count;
                }
            }
            return(View(conReponse));
        }
Example #21
0
        public ActionResult ViewNews(string ActionURL, int pageIndex = 1)
        {
            FindItemReponse <NewsModel>    response    = _newsService.FindNewsByActionURL(ActionURL);
            FindAllItemReponse <NewsModel> newsReponse = new FindAllItemReponse <NewsModel>();
            List <NewsModel> list         = new List <NewsModel>();
            string           subActionURL = string.Empty;

            if (response.Item != null)
            {
                list.Add(response.Item);
                FindAllItemReponse <NewsModel> temp = _newsService.GetRelatedNews(response.Item.CreatedDate, Constants.Constants.PAGE_SIZE, pageIndex, culture);
                if (temp.Items != null)
                {
                    list.AddRange(temp.Items);
                    newsReponse.Items = list;
                    newsReponse.Count = temp.Count;
                }
            }
            return(View(newsReponse));
        }
Example #22
0
        public ActionResult Index()
        {
            ViewBag.CurrentNode = "Home";
            FindAllItemReponse <NewsModel> newsReponse = _newsService.GetTopNews(3, this.culture);

            ViewBag.TopNews = newsReponse.Items;

            FindAllItemReponse <VideoModel> videoReponse = _videoService.GetTopVideo(1, this.culture);

            ViewBag.TopVideo = videoReponse.Items;

            FindAllItemReponse <SliderModel> SliderReponse = _sliderService.GetTopSlider(9, this.culture);

            ViewBag.TopSlider = SliderReponse.Items;

            FindAllItemReponse <ArticleModel> topArticle = _articleService.FindTopHomeDisplay(1);

            ViewBag.TopArticle = topArticle.Items;
            return(View());
        }
Example #23
0
        public ActionResult ViewPresentation(string ActionURL, int pageIndex = 1)
        {
            FindItemReponse <PresentationModel>    response   = _preService.FindPresentationByActionURL(ActionURL);
            FindAllItemReponse <PresentationModel> preReponse = new FindAllItemReponse <PresentationModel>();
            List <PresentationModel> list = new List <PresentationModel>();
            string subActionURL           = string.Empty;

            if (response.Item != null)
            {
                list.Add(response.Item);
                FindAllItemReponse <PresentationModel> temp = _preService.GetRelatedPresentation(response.Item.CreatedDate, Constants.Constants.PAGE_SIZE, pageIndex);
                if (temp.Items != null)
                {
                    list.AddRange(temp.Items);
                    preReponse.Items = list;
                    preReponse.Count = temp.Count;
                }
            }
            return(View(preReponse));
        }
Example #24
0
        public ActionResult ArticleView(string ActionURL, int pageIndex = 1)
        {
            FindItemReponse <MenuModel> response = _menuCategoryService.FindByActionURL(ActionURL);

            if (response.Item != null)
            {
                ViewBag.Title = response.Item.Title;

                if (response.Item.Parent != null)
                {
                    ViewBag.CurrentNode = response.Item.Parent.ActionURL;
                }
                else
                {
                    ViewBag.CurrentNode = response.Item.ActionURL;
                }

                //Find article
                FindAllItemReponse <ArticleModel> articleResponse = _articleService.GetArticles(Constants.Constants.PAGE_SIZE, pageIndex, culture, response.Item.MenuID);
                return(View(articleResponse));
            }
            else
            {
                //Try to find acrticle
                FindItemReponse <ArticleModel> articleResponse = _articleService.FindArticleByActionURL(ActionURL);
                if (articleResponse.Item != null)
                {
                    FindAllItemReponse <ArticleModel> listReponse = new FindAllItemReponse <ArticleModel>();
                    listReponse.Items = new List <ArticleModel>();
                    listReponse.Items.Add(articleResponse.Item);
                    listReponse.Count = 1;
                    return(View(listReponse));
                }
            }
            return(View(new FindAllItemReponse <ArticleModel>()));
        }
Example #25
0
        public ActionResult PaymentReturn()
        {
            string hashvalidateResult  = "";
            string vpc_TxnResponseCode = "Unknown";
            string amount          = "Unknown";
            string localed         = "Unknown";
            string command         = "Unknown";
            string version         = "Unknown";
            string cardType        = "Unknown";
            string orderInfo       = "Unknown";
            string merchantID      = "Unknown";
            string authorizeID     = "Unknown";
            string merchTxnRef     = "Unknown";
            string transactionNo   = "Unknown";
            string acqResponseCode = "Unknown";
            string txnResponseCode = "Unknown";
            string message         = "Unknown";
            string msg             = string.Empty;

            try
            {
                // Khoi tao lop thu vien
                VPCRequest conn = new VPCRequest("http://onepay.vn");
                conn.SetSecureSecret(SECURE_SECRET);
                // Xu ly tham so tra ve va kiem tra chuoi du lieu ma hoa
                hashvalidateResult = conn.Process3PartyResponse(Request.QueryString);
                // Lay gia tri tham so tra ve tu cong thanh toan
                vpc_TxnResponseCode = conn.GetResultField("vpc_TxnResponseCode", "Unknown");
                amount          = conn.GetResultField("vpc_Amount", "Unknown");
                localed         = conn.GetResultField("vpc_Locale", "Unknown");
                command         = conn.GetResultField("vpc_Command", "Unknown");
                version         = conn.GetResultField("vpc_Version", "Unknown");
                cardType        = conn.GetResultField("vpc_Card", "Unknown");
                orderInfo       = conn.GetResultField("vpc_OrderInfo", "Unknown");
                merchantID      = conn.GetResultField("vpc_Merchant", "Unknown");
                authorizeID     = conn.GetResultField("vpc_AuthorizeId", "Unknown");
                merchTxnRef     = conn.GetResultField("vpc_MerchTxnRef", "Unknown");
                transactionNo   = conn.GetResultField("vpc_TransactionNo", "Unknown");
                acqResponseCode = conn.GetResultField("vpc_AcqResponseCode", "Unknown");
                txnResponseCode = vpc_TxnResponseCode;
                message         = conn.GetResultField("vpc_Message", "Unknown");
            }
            catch (Exception ex)
            {
                msg = "The payment is in-progress, please ask administrator for looking at this!";
                Log(merchTxnRef, merchantID, amount, orderInfo, hashvalidateResult, ex.StackTrace);

                return(View(new InsertResponse {
                    Message = "An error occurs at payment service, please contact administrator!", ErrorCode = (int)ErrorCode.Error
                }));
            }

            //Find user
            var  participantType = "";
            long reference       = 0;

            long.TryParse(orderInfo, out reference);
            var transactionResponse = _transaction.FindByTransactionReference(reference);

            string userID = "";
            string email  = "";

            if (transactionResponse.Items != null && transactionResponse.Items.Count > 0)
            {
                FindItemReponse <UserModel> userResponse = _userService.FindUserByID(transactionResponse.Items.First().UserId);
                if (userResponse.Item != null)
                {
                    userID = userResponse.Item.UserID;
                    email  = userResponse.Item.Email;
                    FindAllItemReponse <MailingAddressModel> mailingResponse = _mailingService.FindMailingAddressByUser(userResponse.Item.UserID);
                    if (mailingResponse.Items != null)
                    {
                        var mailing = mailingResponse.Items.SingleOrDefault();
                        if (mailing != null)
                        {
                            participantType = mailing.ParticipantType;
                        }
                    }
                }
            }

            //Save payment
            PaymentModel payment = new PaymentModel();

            payment.PaymentID   = Guid.NewGuid().ToString();
            payment.UserID      = userID;
            payment.Amount      = double.Parse(amount) / 100;
            payment.CreatedBy   = userID;
            payment.CreatedDate = DateTime.Now;
            payment.MerchRef    = merchTxnRef;
            payment.PaymentType = participantType;

            if (string.IsNullOrEmpty(payment.PaymentType))
            {
                payment.PaymentType = "Unknown";
            }

            try
            {
                //Validate transaction
                if (hashvalidateResult == "CORRECTED" && txnResponseCode.Trim() == "0")
                {
                    //vpc_Result.Text = "Transaction was paid successful";
                    payment.Status = (int)PaymentStatus.Completed;
                    msg            = "Your payment was paid successful!";

                    //Sending email
                    //USD
                    decimal usd     = 0;
                    decimal usdrate = 0;
                    try
                    {
                        usdrate = DataHelper.GetInstance().GetCurrencyRate(FROM_CURRENCY, 22265);
                        usd     = decimal.Parse(amount) / usdrate;
                    }
                    catch (Exception) { }

                    string messageBody = DataHelper.GetInstance().BuildInvoicePdfTemplate(payment.PaymentType, merchTxnRef, transactionNo, usd.ToString(), amount, DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture));
                    string title       = string.Format(PAYMENT_TITLE, transactionNo);
                    Task.Run(() => DataHelper.GetInstance().SendEmail(email, title, messageBody));
                }
                else if (hashvalidateResult == "INVALIDATED" && txnResponseCode.Trim() == "0")
                {
                    //vpc_Result.Text = "Transaction is pending";
                    payment.Status = (int)PaymentStatus.Pending;
                    msg            = "Your payment was in pending status, please contact our administrator!";
                }
                else
                {
                    //vpc_Result.Text = "Transaction was not paid successful";
                    payment.Status = (int)PaymentStatus.Error;
                    msg            = "The payment was not paid successful, please try again!";
                }
            }
            catch (Exception ex)
            {
                msg = "The payment is in-progress, please ask administrator for looking at this!";
                Log(merchTxnRef, merchantID, amount, orderInfo, hashvalidateResult, ex.StackTrace);
            }

            InsertResponse _response = _paymentService.Create(payment);

            _response.Message = msg;

            // Log info
            StringBuilder strBuilder = new StringBuilder();

            strBuilder.Append(string.Format("Transaction vpc_MerchTxnRef {0}, ", merchTxnRef));
            strBuilder.Append(string.Format("Transaction vpc_Merchant {0}, ", merchantID));
            strBuilder.Append(string.Format("Transaction vpc_Amount {0}, ", amount));
            strBuilder.Append(string.Format("Transaction vpc_OrderInfo {0}, ", orderInfo));
            strBuilder.Append(string.Format("Transaction hashvalidateResult {0}, ", hashvalidateResult));
            strBuilder.Append(string.Format("Transaction userId {0}, ", userID));
            strBuilder.Append(string.Format("Transaction email {0}, ", email));

            TransactionHistoryModel transaction = new TransactionHistoryModel
            {
                Action               = "Payment completed",
                CreatedDate          = DateTime.Now,
                Log                  = strBuilder.ToString(),
                Status               = (int)TransactionStatus.Completed,
                UserId               = merchTxnRef,
                Email                = email,
                TransactionReference = reference
            };

            _transaction.Create(transaction);

            return(View(_response));
        }
Example #26
0
        public ActionResult MakePayment()
        {
            FindItemReponse <UserModel> response = _userService.FindUserByID(Session["User-UserID"].ToString());

            if (response.Item != null)
            {
                FindAllItemReponse <MailingAddressModel> mailingResponse = _mailingService.FindMailingAddressByUser(Session["User-UserID"].ToString());
                if (mailingResponse.Items != null)
                {
                    var mailing = mailingResponse.Items.SingleOrDefault();
                    if (mailing != null)
                    {
                        //Caculate payment
                        //Get fee
                        int fee = -1;

                        DateTime earlyBird = new DateTime(2017, 6, 30);
                        DateTime regular   = new DateTime(2017, 11, 26);
                        int      age       = DataHelper.GetInstance().CalculateAge(response.Item.DateOfBirth.Value);
                        switch (mailing.ParticipantType)
                        {
                        case "International delegates":
                        case "International youth":
                            if (age < 25)
                            {
                                fee = 150;
                            }
                            else
                            {
                                if (DateTime.UtcNow <= earlyBird)
                                {
                                    fee = 550;
                                }
                                else
                                {
                                    fee = 600;
                                }
                            }
                            break;

                        case "Vietnamese delegate":
                        case "Vietnamese youth":
                            if (age < 25)
                            {
                                fee = 100;
                            }
                            else
                            {
                                if (DateTime.UtcNow <= earlyBird)
                                {
                                    fee = 200;
                                }
                                else
                                {
                                    fee = 250;
                                }
                            }
                            break;

                        default:
                            fee = -1;
                            break;
                        }
                        if (fee == -1)
                        {
                            return(RedirectToAction("RegistrationIncompleted"));
                        }

                        //Parse currency
                        decimal amount  = 0;
                        decimal usdrate = 0;
                        try
                        {
                            usdrate = DataHelper.GetInstance().GetCurrencyRate(FROM_CURRENCY, 22265);
                        }
                        catch (Exception)
                        {
                            //Try convert using google
                            try
                            {
                                string _amount = DataHelper.GetInstance().CurrencyConvert(fee, FROM_CURRENCY, TO_CURRENCY);
                                _amount = _amount.Substring(0, _amount.IndexOf(" "));
                                amount  = decimal.Parse(_amount);
                            }
                            catch (Exception)
                            {
                                return(RedirectToAction("Index", "RequestError"));
                            }
                        }

                        //Calculate amount
                        if (usdrate != 0)
                        {
                            amount = fee * usdrate;
                        }
                        if (amount == 0)
                        {
                            return(RedirectToAction("Index", "RequestError"));
                        }
                        //amount X 100 before parse to OnePay
                        amount = amount * 100;

                        // Khoi tao lop thu vien va gan gia tri cac tham so gui sang cong thanh toan
                        VPCRequest conn = new VPCRequest(VIRTUAL_PAYMENT_CLIENT);
                        conn.SetSecureSecret(SECURE_SECRET);

                        // Add the Digital Order Fields for the functionality you wish to use
                        // Core Transaction Fields
                        conn.AddDigitalOrderField("AgainLink", "http://onepay.vn");
                        conn.AddDigitalOrderField("Title", "onepay paygate");

                        //Chon ngon ngu hien thi tren cong thanh toan (vn/en)
                        conn.AddDigitalOrderField("vpc_Locale", vpc_Locale);
                        conn.AddDigitalOrderField("vpc_Version", vpc_Version);
                        conn.AddDigitalOrderField("vpc_Command", vpc_Command);

                        //Test account
                        string subId = string.Format("{0}", DateTime.Now.Ticks);
                        conn.AddDigitalOrderField("vpc_Merchant", vpc_Merchant);
                        conn.AddDigitalOrderField("vpc_AccessCode", vpc_AccessCode);
                        conn.AddDigitalOrderField("vpc_MerchTxnRef", subId);

                        //Package order
                        conn.AddDigitalOrderField("vpc_Amount", amount.ToString());

                        var transactionReference = DateTime.Now.Ticks;

                        StringBuilder builder = new StringBuilder();
                        builder.Append(string.Format("Transaction vpc_MerchTxnRef {0}, ", subId));
                        builder.Append(string.Format("Transaction vpc_Merchant {0}, ", vpc_Merchant));
                        builder.Append(string.Format("Transaction vpc_Amount {0}, ", amount));
                        builder.Append(string.Format("Transaction fullname {0}, ", response.Item.FullName));
                        builder.Append(string.Format("Transaction email {0}", response.Item.Email));
                        builder.Append(string.Format("Transaction reference {0}", transactionReference));

                        TransactionHistoryModel trans = new TransactionHistoryModel
                        {
                            Action               = "Create payment",
                            CreatedDate          = DateTime.Now,
                            Log                  = builder.ToString(),
                            Status               = (int)TransactionStatus.Created,
                            UserId               = response.Item.UserID,
                            Email                = response.Item.Email,
                            TransactionReference = transactionReference
                        };

                        var insertResponse = _transaction.Create(trans);

                        //Order info
                        conn.AddDigitalOrderField("vpc_OrderInfo", transactionReference.ToString());

                        //Return url
                        conn.AddDigitalOrderField("vpc_ReturnURL", vpc_ReturnURL);

                        // Dia chi IP cua khach hang
                        conn.AddDigitalOrderField("vpc_TicketNo", Request.UserHostAddress);

                        // Chuyen huong trinh duyet sang cong thanh toan
                        String url = conn.Create3PartyQueryString();
                        return(Redirect(url));
                    }
                }
            }
            return(RedirectToAction("RegistrationIncompleted"));
        }
Example #27
0
        public ActionResult ViewProfile()
        {
            if (this.Session["User-UserID"] != null)
            {
                RegistrationModel           registration = new RegistrationModel();
                FindItemReponse <UserModel> response     = _userService.FindUserByID(Session["User-UserID"].ToString());
                if (response.Item != null)
                {
                    registration.UserID                = response.Item.UserID;
                    registration.Title                 = response.Item.Title;
                    registration.FullName              = response.Item.FullName;
                    registration.Sex                   = response.Item.Sex;
                    registration.Email                 = response.Item.Email;
                    registration.OtherEmail            = response.Item.OtherEmail;
                    registration.DateOfBirth           = response.Item.DateOfBirth;
                    registration.Phone                 = response.Item.PhoneNumber;
                    registration.UserName              = response.Item.UserName;
                    registration.MealPreference        = response.Item.MealPreference;
                    registration.DisabilityOrTreatment = response.Item.DisabilitySpecialTreatment;
                    registration.Address               = response.Item.Address;
                    registration.City                  = response.Item.City;
                    registration.Country               = response.Item.Country;
                    registration.WorkAddress           = response.Item.WorkAddress;
                    registration.Organization          = response.Item.Organization;

                    //Find abstract
                    FindAllItemReponse <UserSubmissionModel> abstractResponse = _userSubmissionService.FindByUserID(response.Item.UserID);
                    ViewBag.Abstracts = abstractResponse.Items;
                }
                FindItemReponse <LogisticScheduleModel> logisticResponse = _logisticService.FindByUserID(Session["User-UserID"].ToString());
                registration.Logistic = logisticResponse.Item != null ? logisticResponse.Item : new LogisticScheduleModel();
                FindAllItemReponse <MailingAddressModel> mailingResponse = _mailingService.FindMailingAddressByUser(Session["User-UserID"].ToString());
                if (mailingResponse.Items != null)
                {
                    var mailing = mailingResponse.Items.SingleOrDefault();
                    if (mailing != null)
                    {
                        registration.MailingAddressID     = mailing.MailingAddressID;
                        registration.ParticipantType      = mailing.ParticipantType;
                        registration.YouthConference      = mailing.ParticipateYouth;
                        registration.OriginalNationality  = mailing.OriginalNationality;
                        registration.CurrentNationality   = mailing.CurrentNationality;
                        registration.PassportNumber       = mailing.PassportNumber;
                        registration.TypeOfPassport       = mailing.TypeOfPassport;
                        registration.Occupation           = mailing.Occupation;
                        registration.DateOfPassportIssue  = mailing.DateOfPassportIssue;
                        registration.DateOfPassportExpiry = mailing.DateOfPassportExpiry;
                        registration.PassportPhoto1       = mailing.PassportPhoto1;
                        registration.PassportPhoto2       = mailing.PassportPhoto2;
                        registration.PassportPhoto3       = mailing.PassportPhoto3;
                        registration.DetailOfEmbassy      = mailing.DetailOfEmbassy;
                        registration.NeedVisaSupport      = mailing.NeedVisaSupport;

                        //Get fee
                        int fee = -1;

                        //Find payment
                        FindAllItemReponse <PaymentModel> paymentResponse = _paymentService.FindByUserID(Session["User-UserID"].ToString());
                        var paymentCompleted = paymentResponse.Items.Where(p => p.PaymentType.Equals(registration.ParticipantType) &&
                                                                           (p.Status == (int)PaymentStatus.Completed ||
                                                                            p.Status == (int)PaymentStatus.Cash ||
                                                                            p.Status == (int)PaymentStatus.BankTransfer)).ToList();
                        if (paymentCompleted != null && paymentCompleted.Count > 0)
                        {
                            fee = 0;
                            //var paid = paymentResponse.Items.Where(p => p.PaymentType.Equals(registration.ParticipantType)).SingleOrDefault();
                            //if (paid != null && (paid.Status == (int) PaymentStatus.Completed || paid.Status == (int) PaymentStatus.Cash))
                            //{
                            //    fee = 0;
                            //}
                            //else
                            //{
                            //    ViewBag.PaymentStatus = "Your transaction has an <strong>error</strong> occurred, please contact administrator!";
                            //}
                        }
                        else
                        {
                            //Caculate payment
                            DateTime earlyBird = new DateTime(2017, 6, 30);
                            DateTime regular   = new DateTime(2017, 11, 26);
                            int      age       = DataHelper.GetInstance().CalculateAge(response.Item.DateOfBirth.Value);
                            switch (mailing.ParticipantType)
                            {
                            case "International delegates":
                            case "International youth":
                                if (age < 25)
                                {
                                    fee = 150;
                                }
                                else
                                {
                                    if (DateTime.UtcNow <= earlyBird)
                                    {
                                        fee = 550;
                                    }
                                    else
                                    {
                                        fee = 600;
                                    }
                                }
                                break;

                            case "Vietnamese delegate":
                            case "Vietnamese youth":
                                if (age < 25)
                                {
                                    fee = 100;
                                }
                                else
                                {
                                    if (DateTime.UtcNow <= earlyBird)
                                    {
                                        fee = 200;
                                    }
                                    else
                                    {
                                        fee = 250;
                                    }
                                }
                                break;

                            default:
                                fee = -1;
                                break;
                            }
                        }
                        ViewBag.PaymentFee = fee;
                    }
                }
                return(View(registration));
            }
            else
            {
                return(RedirectToAction("Login", "User"));
            }
        }
Example #28
0
        public ActionResult Index()
        {
            FindAllItemReponse <VideoModel> response = _videoService.GetVideo();

            return(View(response.Items));
        }
Example #29
0
        public IList <ImportantDeadlineModel> GetImportantDeadlines(int top)
        {
            FindAllItemReponse <ImportantDeadlineModel> importantDeadlineResponse = _importantDeadlineService.GetImportantDeadlines(top, DateTime.Now);

            return(importantDeadlineResponse.Items);
        }
Example #30
0
        public IList <MenuModel> GetCategoryMenu()
        {
            FindAllItemReponse <MenuModel> menuReponse = _menuCategoryService.FindAllMenus();

            return(menuReponse.Items);
        }