public JsonResult UpdateEducationToShoppingCart(int CouponID, int EducationTypeID, int UserID, string CourseName, DateTime Date, int EducationShoppingTempID, string EducationType, decimal Price, int Quantity, decimal Amount, int EducationID, int?CredentialID)
        {
            EducationShoppingTemp educationShoppingTemp = new EducationShoppingTemp();

            educationShoppingTemp.Amount                  = Amount;
            educationShoppingTemp.CoupanID                = CouponID;
            educationShoppingTemp.CourseName              = CourseName;
            educationShoppingTemp.Date                    = Date;
            educationShoppingTemp.EducationID             = EducationID;
            educationShoppingTemp.EducationShoppingTempID = EducationShoppingTempID;
            educationShoppingTemp.Quantity                = Quantity;
            educationShoppingTemp.EducationTypeID         = EducationTypeID;
            educationShoppingTemp.UserID                  = UserID;
            educationShoppingTemp.CredentialID            = CredentialID;
            _shoppingeducationService.UpdateEducationToShoppingCart(Mapper.Map <HCRGUniversityApp.NEPService.ShoppingEducationService.EducationShoppingTemp>(educationShoppingTemp));
            return(Json(GlobalConst.Message.DeletedSuccessfully));
        }
 public int AddEducationToShoppingCart(EducationShoppingTemp educationShoppingTemp)
 {
     return(_educationShoppingTemp.AddEducationShoppingCart(Mapper.Map <EducationShoppingTemp, HCRGUniversity.Core.Data.Model.EducationShoppingTemp>(educationShoppingTemp)));
 }
        public ActionResult Add(string EducationTypeID, string CredentialID)
        {
            bool checkCourseValdation = _shoppingeducationService.checkCoursePurchaseValidationByUserID(HCRGUser.UID, EducationID);

            if (!checkCourseValdation)
            {
                bool check = _shoppingeducationService.checkEducationinShoppingCart(HCRGUser.UID, EducationID, GlobalConst.CartType.Course);
                if (!check)
                {
                    EducationShoppingTemp            educationShoppingTemp            = new EducationShoppingTemp();
                    EducationTypesAvailableViewModel educationTypesAvailableViewModel = new EducationTypesAvailableViewModel();
                    educationTypesAvailableViewModel.EducationTypesAvailableResults = Mapper.Map <IEnumerable <EducationTypesAvailable> >(_educationService.GetEducationTypeByEducationID(EducationID));
                    HCRGUniversityApp.Domain.Models.EducationShoppingCartModel.EducationShoppingCart myList = new HCRGUniversityApp.Domain.Models.EducationShoppingCartModel.EducationShoppingCart();

                    var _res = _userService.getUserAllAccessPassByUserID(HCRGUser.UID);
                    if (_res != null)
                    {
                        if (_res.AllAccessEndDate.Value < DateTime.Now)
                        {
                            User _user1 = new User();
                            _user1 = Mapper.Map <User>(_userService.GetUserByID(HCRGUser.UID));
                            _user1.IsAllAccessPricing  = null;
                            _user1.UserAllAccessPassID = null;
                            _userService.UpdateUser(Mapper.Map <HCRGUniversityApp.NEPService.UserService.User>(_user1));
                        }
                    }


                    HCRGUniversityApp.Domain.Models.UserModel.User _user = new Domain.Models.UserModel.User();
                    _user = Mapper.Map <HCRGUniversityApp.Domain.Models.UserModel.User>(_userService.GetUserByID(HCRGUser.UID));


                    //if (_user.IsCoursePreview.Value != null)
                    if (_user.IsCoursePreview == true)
                    {
                        int cnt = 0;

                        foreach (HCRGUniversityApp.Domain.Models.EducationModel.EducationTypesAvailable viewmodel in educationTypesAvailableViewModel.EducationTypesAvailableResults)
                        {
                            if (_educationService.GetEducationByID(EducationID).IsCoursePreview != null)
                            {
                                cnt = 1;
                                myList.EduorProID          = EducationID;
                                myList.EducationTypeID     = viewmodel.EducationTypeID;
                                myList.Price               = viewmodel.Price;
                                myList.UserID              = Convert.ToInt32(HCRGUser.UID);
                                myList.Quantity            = 1;
                                myList.Date                = DateTime.Now;
                                myList.ShippingPaymentID   = null;
                                myList.UserAllAccessPassID = _user.UserAllAccessPassID;
                                myList.TaxPercentage       = GlobalConst.ConstantChar.CourserTaxPercentage;
                                if (CredentialID != null)
                                {
                                    myList.CredentialID = int.Parse(CredentialID);
                                }
                            }
                            else
                            {
                                cnt = 0;
                            }
                        }

                        if (cnt == 1)
                        {
                            _shoppingeducationService.AddEducationShoppingOrderAllAccessPass(Mapper.Map <HCRGUniversityApp.NEPService.ShoppingEducationService.EducationShoppingCart>(myList));
                            return(Json(GlobalConst.Message.GoToMyEducation, GlobalConst.Message.text_html));
                        }
                    }



                    Domain.Models.UserModel.UserAllAccessPass _userAllAccessPass = new Domain.Models.UserModel.UserAllAccessPass();

                    if (_user.UserAllAccessPassID.HasValue)
                    {
                        _userAllAccessPass = Mapper.Map <HCRGUniversityApp.Domain.Models.UserModel.UserAllAccessPass>(_userService.getUserAllAccessPassByID(_user.UserAllAccessPassID.Value));

                        if (_userAllAccessPass.AllAccessEndDate.Value < System.DateTime.Now)
                        {
                            _user.IsAllAccessPricing  = null;
                            _user.UserAllAccessPassID = null;
                            _userService.UpdateUser(Mapper.Map <HCRGUniversityApp.NEPService.UserService.User>(_user));
                        }
                    }

                    // when courser price is zero ie coruse is free of cost.
                    foreach (HCRGUniversityApp.Domain.Models.EducationModel.EducationTypesAvailable viewmodel in educationTypesAvailableViewModel.EducationTypesAvailableResults)
                    {
                        if (viewmodel.Price == 0)
                        {
                            myList.EduorProID          = EducationID;
                            myList.EducationTypeID     = viewmodel.EducationTypeID;
                            myList.Price               = viewmodel.Price;
                            myList.UserID              = Convert.ToInt32(HCRGUser.UID);
                            myList.Quantity            = 1;
                            myList.Date                = DateTime.Now;
                            myList.ShippingPaymentID   = null;
                            myList.UserAllAccessPassID = null;
                            myList.TaxPercentage       = GlobalConst.ConstantChar.CourserTaxPercentage;
                            if (CredentialID != null)
                            {
                                myList.CredentialID = int.Parse(CredentialID);
                            }
                            _shoppingeducationService.AddEducationShoppingOrderAllAccessPass(Mapper.Map <HCRGUniversityApp.NEPService.ShoppingEducationService.EducationShoppingCart>(myList));
                            return(Json(GlobalConst.Message.GoToMyEducation, GlobalConst.Message.text_html));
                        }
                    }


                    if (!_user.UserAllAccessPassID.HasValue)
                    {
                        foreach (HCRGUniversityApp.Domain.Models.EducationModel.EducationTypesAvailable viewmodel in educationTypesAvailableViewModel.EducationTypesAvailableResults)
                        {
                            educationShoppingTemp.EducationID     = EducationID;
                            educationShoppingTemp.EducationTypeID = viewmodel.EducationTypeID;
                            educationShoppingTemp.Amount          = viewmodel.Price;
                            educationShoppingTemp.UserID          = Convert.ToInt32(HCRGUser.UID);
                            educationShoppingTemp.Quantity        = 1;
                            educationShoppingTemp.Date            = DateTime.Now;
                            educationShoppingTemp.TaxPercentage   = GlobalConst.ConstantChar.CourserTaxPercentage;
                            if (CredentialID != null)
                            {
                                educationShoppingTemp.CredentialID = int.Parse(CredentialID);
                            }
                        }
                        var EducationShoppingTempModelid = _shoppingeducationService.AddEducationToShoppingCart(Mapper.Map <HCRGUniversityApp.NEPService.ShoppingEducationService.EducationShoppingTemp>(educationShoppingTemp));
                        return(Json(educationShoppingTemp, GlobalConst.Message.text_html));
                    }
                    else
                    {
                        foreach (HCRGUniversityApp.Domain.Models.EducationModel.EducationTypesAvailable viewmodel in educationTypesAvailableViewModel.EducationTypesAvailableResults)
                        {
                            myList.EduorProID          = EducationID;
                            myList.EducationTypeID     = viewmodel.EducationTypeID;
                            myList.Price               = viewmodel.Price;
                            myList.UserID              = Convert.ToInt32(HCRGUser.UID);
                            myList.Quantity            = 1;
                            myList.Date                = DateTime.Now;
                            myList.ShippingPaymentID   = _userAllAccessPass.ShippingPaymentID.Value;
                            myList.UserAllAccessPassID = _user.UserAllAccessPassID;
                            myList.TaxPercentage       = GlobalConst.ConstantChar.CourserTaxPercentage;
                            if (CredentialID != null)
                            {
                                myList.CredentialID = int.Parse(CredentialID);
                            }
                        }

                        var _rest = _userService.GetUserSubscriptionDetails();

                        if (myList.Price >= _rest.AllAccessParametersCoursePriceStart && myList.Price <= _rest.AllAccessParametersCoursePriceEnd)
                        {
                            _shoppingeducationService.AddEducationShoppingOrderAllAccessPass(Mapper.Map <HCRGUniversityApp.NEPService.ShoppingEducationService.EducationShoppingCart>(myList));
                            return(Json(GlobalConst.Message.GoToMyEducation, GlobalConst.Message.text_html));
                        }
                        else
                        {
                            foreach (HCRGUniversityApp.Domain.Models.EducationModel.EducationTypesAvailable viewmodel in educationTypesAvailableViewModel.EducationTypesAvailableResults)
                            {
                                educationShoppingTemp.EducationID         = EducationID;
                                educationShoppingTemp.EducationTypeID     = viewmodel.EducationTypeID;
                                educationShoppingTemp.Amount              = viewmodel.Price;
                                educationShoppingTemp.UserID              = Convert.ToInt32(HCRGUser.UID);
                                educationShoppingTemp.Quantity            = 1;
                                educationShoppingTemp.Date                = DateTime.Now;
                                educationShoppingTemp.UserAllAccessPassID = null;
                                myList.TaxPercentage = GlobalConst.ConstantChar.CourserTaxPercentage;
                                if (CredentialID != null)
                                {
                                    educationShoppingTemp.CredentialID = int.Parse(CredentialID);
                                }
                            }
                            var EducationShoppingTempModelid = _shoppingeducationService.AddEducationToShoppingCart(Mapper.Map <HCRGUniversityApp.NEPService.ShoppingEducationService.EducationShoppingTemp>(educationShoppingTemp));
                            return(Json(educationShoppingTemp, GlobalConst.Message.text_html));
                        }
                    }
                }
                else
                {
                    return(Json(GlobalConst.Message.AlreadyAddToCart, GlobalConst.Message.text_html));
                }
            }
            else
            {
                return(Json(GlobalConst.Message.CourseAlreadyInProgress, GlobalConst.Message.text_html));
            }
        }