public ActionResult Create(AgentModel model, List <AgentBankModel> AgentBankModel, int[] ChkSettingId, int[] ChkProductId, FormCollection fc)
        {
            TravelSession obj = (TravelSession)Session["TravelPortalSessionInfo"];

            model.BranchOfficeId = 1;
            model.DistributorId  = 1;

            model.CreatedbyUser = obj.AppUserId;
            model.CreatedBy     = LogedUserId;
            model.CreatedDate   = CurrentDate;
            model.AgentStatusid = 1;
            model.EmailId       = model.EmailId.Trim(';');
            if (!_rep.CheckDuplicateEmail(model.Email))
            {
                TempData["ErrorMessage"] = "Registration failed! Email already exists, please re-enter and try again";
                AgentModel viewmodel = new AgentModel
                {
                    ProductBaseRoleList = _rep.GetProductList(),
                    ReferredByList      = _rep.GetAllGetSalesAgentList(),
                    MEsNameList         = _rep.GetAllGetSalesAgentList(),
                };
                ViewData["Countrylist"]  = new SelectList(_rep.GetCountry(), "CountryId", "CountryName", 0);
                ViewData["Status"]       = new SelectList(_rep.GetStatus(), "id", "Name", 1);
                ViewData["AirlineGroup"] = new SelectList(_rep.GetAirlineGroup(), "AirlineGroupId", "AirlineGroupName");
                ViewData["RoleAssign"]   = new SelectList("", "RoleName", "RoleName", "");
                ViewData["AgentTypes"]   = new SelectList(_rep.GetAgentType(), "AgentTypeId", "AgentTypeName");

                ViewData["AgentZone"]        = new SelectList(_rep.GetZoneList(), "ZoneId", "ZoneName");
                ViewData["AgentDistrict"]    = new SelectList(_rep.GetDistrictListbyZoneId(1), "DistrictId", "DistrictName");
                ViewData["Banks"]            = new SelectList(_rep.GetbankInformation(), "BankId", "BankName");
                ViewData["BankBranches"]     = new SelectList(_rep.GetbankBranchInformation(), "BankBranchId", "BranchName");
                ViewData["BankAccountTypes"] = new SelectList(_rep.GetbankAccountType(), "BankAccountTypeId", "AccountTypeName");
                ViewData["TimeZones"]        = new SelectList(_rep.GetTimeZoneList(), "RecordID", "StandardName", 66);
                return(View("Create", viewmodel));
            }
            else
            {
                if (!string.IsNullOrEmpty(model.MobileNo) && !_rep.CheckDuplicateMobileNumber(model.MobileNo))
                {
                    TempData["ErrorMessage"] = "Registration failed! Mobile Number already exists, please re-enter and try again";
                    AgentModel viewmodel = new AgentModel
                    {
                        ProductBaseRoleList = _rep.GetProductList(),
                        ReferredByList      = _rep.GetAllGetSalesAgentList(),
                    };
                    ViewData["Countrylist"]  = new SelectList(_rep.GetCountry(), "CountryId", "CountryName", 0);
                    ViewData["Status"]       = new SelectList(_rep.GetStatus(), "id", "Name", 1);
                    ViewData["AirlineGroup"] = new SelectList(_rep.GetAirlineGroup(), "AirlineGroupId", "AirlineGroupName");
                    ViewData["RoleAssign"]   = new SelectList("", "RoleName", "RoleName", "");
                    ViewData["AgentTypes"]   = new SelectList(_rep.GetAgentType(), "AgentTypeId", "AgentTypeName");

                    ViewData["AgentZone"]        = new SelectList(_rep.GetZoneList(), "ZoneId", "ZoneName");
                    ViewData["AgentDistrict"]    = new SelectList(_rep.GetDistrictListbyZoneId(1), "DistrictId", "DistrictName");
                    ViewData["Banks"]            = new SelectList(_rep.GetbankInformation(), "BankId", "BankName");
                    ViewData["BankBranches"]     = new SelectList(_rep.GetbankBranchInformation(), "BankBranchId", "BranchName");
                    ViewData["BankAccountTypes"] = new SelectList(_rep.GetbankAccountType(), "BankAccountTypeId", "AccountTypeName");
                    ViewData["TimeZones"]        = new SelectList(_rep.GetTimeZoneList(), "RecordID", "StandardName", 66);
                    return(View("Create", viewmodel));
                }
                else
                {
                    _res = _rep.Create(model, AgentBankModel, ChkProductId, fc);

                    TempData["InfoMessage"] = _res.ActionMessage;
                    if (_res.ErrNumber == 0)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        AgentModel viewmodel = new AgentModel
                        {
                            ProductBaseRoleList = _rep.GetProductList(),
                            ReferredByList      = _rep.GetAllGetSalesAgentList(),
                            MEsNameList         = _rep.GetAllGetSalesAgentList(),
                        };
                        TempData["ErrorMessage"] = "Registration failed! Either Enter Username or Your passwords must match, please re-enter and try again";
                        ViewData["Countrylist"]  = new SelectList(_rep.GetCountry(), "CountryId", "CountryName", 0);
                        ViewData["Status"]       = new SelectList(_rep.GetStatus(), "id", "Name", 1);
                        ViewData["AirlineGroup"] = new SelectList(_rep.GetAirlineGroup(), "AirlineGroupId", "AirlineGroupName");
                        ViewData["RoleAssign"]   = new SelectList("", "RoleName", "RoleName", "");
                        ViewData["AgentTypes"]   = new SelectList(_rep.GetAgentType(), "AgentTypeId", "AgentTypeName");

                        ViewData["AgentZone"]        = new SelectList(_rep.GetZoneList(), "ZoneId", "ZoneName");
                        ViewData["AgentDistrict"]    = new SelectList(_rep.GetDistrictListbyZoneId(1), "DistrictId", "DistrictName");
                        ViewData["Banks"]            = new SelectList(_rep.GetbankInformation(), "BankId", "BankName");
                        ViewData["BankBranches"]     = new SelectList(_rep.GetbankBranchInformation(), "BankBranchId", "BranchName");
                        ViewData["BankAccountTypes"] = new SelectList(_rep.GetbankAccountType(), "BankAccountTypeId", "AccountTypeName");
                        ViewData["TimeZones"]        = new SelectList(_rep.GetTimeZoneList(), "RecordID", "StandardName", 66);
                        return(View("Create", viewmodel));
                    }
                }
            }
        }