public ActionResult TransactionRule(TransactionRuleVM trRuleVM)
        {
            Helpers.UIDropDownRepo uiDDLRepo = new Helpers.UIDropDownRepo(_ddlRepo);
            string message = string.Empty;
            string diffTo  = string.Empty;

            if (Validate(trRuleVM, out message, out diffTo))
            {
                //string diffTo = _trnsMaster.GetIsDifferentTo(trRuleVM.TranMaster.TranMasterId);

                if (!_trRule.IsDuplicate(trRuleVM.TranMaster.TranMasterId, trRuleVM.Standard == null?-1: trRuleVM.Standard.StandardId, trRuleVM.Section == null?-1: trRuleVM.Section.SectionId, trRuleVM.ClassType == null?-1: trRuleVM.ClassType.ClassTypeId, trRuleVM.UserDTO == null?-1: trRuleVM.UserDTO.UserMasterId, diffTo, trRuleVM.MODE, trRuleVM.TranRuleId))
                {
                    if (string.Equals(trRuleVM.MODE, "EDIT"))
                    {
                        _trRule.Update(trRuleVM);
                        return(RedirectToAction("SearchRules"));
                    }
                    _trRule.Insert(trRuleVM);
                    ModelState.Clear();

                    trRuleVM.MODE   = "ADD";
                    trRuleVM.Active = true;

                    trRuleVM.SuccessMsg = "Rule added successfully.";
                    trRuleVM.ErrorMsg   = string.Empty;
                }
                else
                {
                    trRuleVM.ErrorMsg   = "Rule is not unique for this transaction name.";
                    trRuleVM.SuccessMsg = string.Empty;
                }
            }
            else
            {
                trRuleVM.ErrorMsg   = message;
                trRuleVM.SuccessMsg = string.Empty;
            }
            trRuleVM.TransactionFrequencies = uiDDLRepo.getTransactionFrequencies();
            trRuleVM.Users                   = uiDDLRepo.getUserDropDown();
            trRuleVM.Standards               = uiDDLRepo.getStandardDropDown();
            trRuleVM.Sections                = uiDDLRepo.getSectionDropDown();
            trRuleVM.PenaltyCalcIn           = uiDDLRepo.getCalcType();
            trRuleVM.ClassTypes              = uiDDLRepo.getClassTypeDropDown();
            trRuleVM.PenaltyTransactionTypes = uiDDLRepo.getTransactionTypes();
            trRuleVM.TransactionMasters      = uiDDLRepo.getTransactionMasters();
            trRuleVM.PenaltyTransactionRules = uiDDLRepo.getTransactionRules();
            trRuleVM.IsPostBack              = "TRUE";


            return(RedirectToAction("SearchRules"));
        }
        public ActionResult TransactionRule(string mode, int?id)
        {
            Helpers.UIDropDownRepo uiDDLRepo = new Helpers.UIDropDownRepo(_ddlRepo);
            TransactionRuleVM      trRuleVM  = new TransactionRuleVM();

            trRuleVM.IsPostBack = "FALSE";
            if (string.Equals(mode, "EDIT", StringComparison.OrdinalIgnoreCase))
            {
                StatusDTO <TransactionRuleDTO> trRule = _trRule.Select(id.Value);
                if (trRule != null)
                {
                    trRuleVM.Active                 = trRule.ReturnObj.Active;
                    trRuleVM.ActualAmount           = trRule.ReturnObj.ActualAmount;
                    trRuleVM.ClassType              = trRule.ReturnObj.ClassType;
                    trRuleVM.DueDateIncreasesBy     = trRule.ReturnObj.DueDateIncreasesBy;
                    trRuleVM.FirstDueAfterDays      = trRule.ReturnObj.FirstDueAfterDays;
                    trRuleVM.IsdifferentTo          = trRule.ReturnObj.IsdifferentTo;
                    trRuleVM.PenaltyAmount          = trRule.ReturnObj.PenaltyAmount;
                    trRuleVM.PenaltyCalculatedIn    = trRule.ReturnObj.PenaltyCalculatedIn;
                    trRuleVM.PenaltyTransactionRule = trRule.ReturnObj.PenaltyTransactionRule;
                    trRuleVM.PenaltyTransactionType = trRule.ReturnObj.PenaltyTransactionType;
                    trRuleVM.RuleName               = trRule.ReturnObj.RuleName;
                    trRuleVM.Section                = trRule.ReturnObj.Section;
                    trRuleVM.Standard               = trRule.ReturnObj.Standard;
                    trRuleVM.TranMaster             = trRule.ReturnObj.TranMaster;
                    trRuleVM.TranRuleId             = trRule.ReturnObj.TranRuleId;
                    trRuleVM.UserDTO                = trRule.ReturnObj.UserDTO;

                    trRuleVM.MODE = "EDIT";

                    if (trRuleVM.TranMaster != null)
                    {
                        trRuleVM.SelectedFrequency = _trnsMaster.GetFreq(trRuleVM.TranMaster.TranMasterId);
                    }

                    trRuleVM.TransactionMasters = uiDDLRepo.getTransactionMasters(trRuleVM.SelectedFrequency);
                }
                else
                {
                    trRuleVM.TransactionMasters = new SelectList(new List <TransactionMasterDTO>(), "TranMasterId", "TransactionName");

                    if (TempData.Peek("RuleSearchCriteria") != null)
                    {
                        trRuleVM = (TransactionRuleVM)TempData.Peek("RuleSearchCriteria");
                        trRuleVM.TransactionMasters = new SelectList(_ddlRepo.GetTransactionMasters(trRuleVM.SelectedFrequency), "TranMasterId", "TransactionName");
                        trRuleVM.IsPostBack         = "TRUE";
                    }

                    trRuleVM.MODE   = "ADD";
                    trRuleVM.Active = true;
                }
            }
            else
            {
                trRuleVM.TransactionMasters = new SelectList(new List <TransactionMasterDTO>(), "TranMasterId", "TransactionName");

                if (TempData.Peek("RuleSearchCriteria") != null)
                {
                    trRuleVM = (TransactionRuleVM)TempData.Peek("RuleSearchCriteria");
                    trRuleVM.TransactionMasters = new SelectList(_ddlRepo.GetTransactionMasters(trRuleVM.SelectedFrequency), "TranMasterId", "TransactionName");
                    trRuleVM.IsPostBack         = "TRUE";
                }

                trRuleVM.MODE   = "ADD";
                trRuleVM.Active = true;
            }
            trRuleVM.TransactionFrequencies = uiDDLRepo.getTransactionFrequencies();
            trRuleVM.Users                   = uiDDLRepo.getUserDropDown();
            trRuleVM.Standards               = uiDDLRepo.getStandardDropDown();
            trRuleVM.Sections                = uiDDLRepo.getSectionDropDown();
            trRuleVM.PenaltyCalcIn           = uiDDLRepo.getCalcType();
            trRuleVM.ClassTypes              = uiDDLRepo.getClassTypeDropDown();
            trRuleVM.PenaltyTransactionTypes = uiDDLRepo.getTransactionTypes();

            trRuleVM.PenaltyTransactionRules = uiDDLRepo.getTransactionRules();
            trRuleVM.ErrorMsg   = string.Empty;
            trRuleVM.SuccessMsg = string.Empty;

            return(View(trRuleVM));
        }
        public ActionResult Register(string mode, string id)
        {
            Models.StudentVM studView = new Models.StudentVM();
            studView.UserDetails   = new UserMasterDTO();
            studView.MODE          = mode;
            studView.DisabledClass = "";
            if (string.Equals(mode, "EDIT", StringComparison.OrdinalIgnoreCase))
            {
                studView.UserDetails.UserMasterId = int.Parse(id);
            }
            if (string.Equals(mode, "VIEW", StringComparison.OrdinalIgnoreCase))
            {
                studView.DisabledClass = "disabledPlace";
            }
            studView.Transactions = new List <UserTransactionDTO>();
            if (mode != null && (string.Equals(mode, "EDIT", StringComparison.OrdinalIgnoreCase) || string.Equals(mode, "VIEW", StringComparison.OrdinalIgnoreCase)))
            {
                //Populate edit data using id passed in URL, if id==null then show error message
                StatusDTO <StudentDTO> dto = _studSvc.Select(Convert.ToInt32(id));
                studView.UserDetails = new UserMasterDTO();
                studView.UserDetails.UserMasterId = dto.ReturnObj.UserDetails.UserMasterId;
                //uvModel.UserMasterId = dto.ReturnObj.UserMasterId;
                studView.UserDetails.FName              = dto.ReturnObj.UserDetails.FName;
                studView.UserDetails.MName              = dto.ReturnObj.UserDetails.MName;
                studView.UserDetails.LName              = dto.ReturnObj.UserDetails.LName;
                studView.UserDetails.Gender             = dto.ReturnObj.UserDetails.Gender;
                studView.UserDetails.Image              = dto.ReturnObj.UserDetails.Image;
                studView.UserDetails.DOB                = dto.ReturnObj.UserDetails.DOB;
                studView.DOBString                      = studView.UserDetails.DOB.HasValue ? studView.UserDetails.DOB.Value.ToString("dd-MMM-yyyy") : string.Empty;
                studView.UserDetails.EmailId            = dto.ReturnObj.UserDetails.EmailId;
                studView.UserDetails.ResidentialAddress = dto.ReturnObj.UserDetails.ResidentialAddress;
                studView.UserDetails.PermanentAddress   = dto.ReturnObj.UserDetails.PermanentAddress;
                studView.UserDetails.ContactNo          = dto.ReturnObj.UserDetails.ContactNo;
                studView.UserDetails.AltContactNo       = dto.ReturnObj.UserDetails.AltContactNo;
                studView.UserDetails.BloodGroup         = dto.ReturnObj.UserDetails.BloodGroup;
                studView.UserDetails.Location           = dto.ReturnObj.UserDetails.Location;
                studView.UserDetails.Role               = dto.ReturnObj.UserDetails.Role;

                //studView.Student = new StudentDTO();
                studView.RollNumber             = dto.ReturnObj.RollNumber;
                studView.RegistrationNumber     = dto.ReturnObj.RegistrationNumber;
                studView.AdmissionDate          = dto.ReturnObj.AdmissionDate;
                studView.FatherContact          = dto.ReturnObj.FatherContact;
                studView.GuardianName           = dto.ReturnObj.GuardianName;
                studView.FatherEmailId          = dto.ReturnObj.FatherEmailId;
                studView.HouseType              = dto.ReturnObj.HouseType;
                studView.StandardSectionMap     = dto.ReturnObj.StandardSectionMap;
                studView.FatherName             = dto.ReturnObj.FatherName;
                studView.FatherQualification    = dto.ReturnObj.FatherQualification;
                studView.FatherOccupation       = dto.ReturnObj.FatherOccupation;
                studView.FatherDesignation      = dto.ReturnObj.FatherDesignation;
                studView.FatherOrganisationName = dto.ReturnObj.FatherOrganisationName;
                studView.MotherName             = dto.ReturnObj.MotherName;
                studView.MotherQualification    = dto.ReturnObj.MotherQualification;
                studView.MotherOccupation       = dto.ReturnObj.MotherOccupation;
                studView.MotherAnnualIncome     = dto.ReturnObj.MotherAnnualIncome;
                studView.MotherOrganisationName = dto.ReturnObj.MotherOrganisationName;
                studView.IsChristian            = dto.ReturnObj.IsChristian;
                studView.IsParentTeacher        = dto.ReturnObj.IsParentTeacher;
                studView.SubjectNameTheyTeach   = dto.ReturnObj.SubjectNameTheyTeach;
                studView.IsParentFromEngMedium  = dto.ReturnObj.IsParentFromEngMedium;
                studView.IsJointOrNuclearFamily = dto.ReturnObj.IsJointOrNuclearFamily;
                studView.SiblingsInStadOrNot    = dto.ReturnObj.SiblingsInStadOrNot;
                studView.AnyAlumuniMember       = dto.ReturnObj.AnyAlumuniMember;
                studView.StuInPrivateTution     = dto.ReturnObj.StuInPrivateTution;
                studView.NoOfTution             = dto.ReturnObj.NoOfTution;
                studView.FeesPaidForTution      = dto.ReturnObj.FeesPaidForTution;

                studView.Transactions       = _userTrans.GetUserTransactions(dto.ReturnObj.UserDetails.UserMasterId);
                studView.TransactionMasters = _uiddlRepo.getTransactionMasters();


                string studentImageFolder = _configSvc.GetStudentImagesFolder();
                string fatherImageFolder  = _configSvc.GetFatherImagesFolder();
                string motherImageFolder  = _configSvc.GetMotherImagesFolder();

                studView.StudentImagePath = _configSvc.GetStudentImagesRelPath() + "/" + GetImageFileName(studView.RegistrationNumber, studentImageFolder);
                studView.FatherImagePath  = _configSvc.GetFatherImagesRelPath() + "/" + GetImageFileName(studView.RegistrationNumber, fatherImageFolder);
                studView.MotherImagePath  = _configSvc.GetMotherImagesRelPath() + "/" + GetImageFileName(studView.RegistrationNumber, motherImageFolder);
            }

            //studView.Transactions = _userTrans.GetUserTransactions(dto.ReturnObj.UserDetails.UserMasterId);
            studView.TransactionMasters = _uiddlRepo.getTransactionMasters();

            studView.CalcInSelectList            = _uiddlRepo.getCalcTypeDic();
            studView.TransactionMasterSelectList = _dropDwnRepo.GetTransactionMasters();

            studView.GenderList               = _uiddlRepo.getGenderDropDown();
            studView.LocationList             = _uiddlRepo.getLocationDropDown();
            studView.RoleList                 = _uiddlRepo.getRoleDropDown();
            studView.ClassTypeList            = _uiddlRepo.getClassTypeDropDown();
            studView.SectionList              = _uiddlRepo.getSectionDropDown();
            studView.HouseList                = _uiddlRepo.getHouseDropDown();
            studView.IsChristianList          = _uiddlRepo.getSelectValueDropDown();
            studView.IsParentTeacherList      = _uiddlRepo.getSelectValueDropDown();
            studView.IsParentFromEngMedList   = _uiddlRepo.getSelectValueDropDown();
            studView.JointOrNuclearFamilyList = _uiddlRepo.getSelectJointNuclearDropDown();
            studView.SiblingsInStdOrNotList   = _uiddlRepo.getSelectValueDropDown();
            studView.AnyAlumunimemberList     = _uiddlRepo.getSelectValueDropDown();
            studView.StudentinPvtTutionList   = _uiddlRepo.getSelectValueDropDown();

            //uvModel.BookCategoryList = _uiddlRepo.getBookCategoryDropDown();
            //uvModel.DepartmentList = _uiddlRepo.getDepartmentDropDown();
            //uvModel.DesignationList = _uiddlRepo.getDesignationDropDown();
            studView.StandardSectionList = _uiddlRepo.getStandardSectionDropDown();
            studView.GraceAmountOnList   = _uiddlRepo.getCalcType();



            return(View(studView));
        }