public ActionResult BranchDistributorAgentEdit(int?id)
        {
            _model = _rep.Detail(id, out _res);
            TempData["InfoMessage"] = _res.ActionMessage;
            if (_res.ErrNumber == 0)
            {
                ViewData["AgentBank"] = _agentdetailsprovider.GetAgentBankList(id.Value);

                foreach (var AsociatedProductOfAgent in _model.AgentProductList)
                {
                    ViewData[AsociatedProductOfAgent.ProductName] = new SelectList(_rep.GetAllRolesListonProductWise(AsociatedProductOfAgent.ProductId), "RoleName", "RoleName", "");
                }
                ViewData["Countrylist"]   = new SelectList(_rep.GetCountry(), "CountryId", "CountryName", _rep.GetCountryInfo(_model.NativeCountryId));
                ViewData["AgentZone"]     = new SelectList(_rep.GetZoneList(), "ZoneId", "ZoneName", _model.ZoneId);
                ViewData["AgentDistrict"] = new SelectList(_rep.GetDistrictListbyZoneId(_model.ZoneId), "DistrictId", "DistrictName", _model.DistrictId);
                ViewData["Status"]        = new SelectList(_rep.GetStatus(), "id", "Name");
                ViewData["AgentTypes"]    = new SelectList(_rep.GetAgentType(), "AgentTypeId", "AgentTypeName", _model.AgentTypeId);

                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");
                _model.AgentId = (int)id;


                return(View(_model));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
        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));
                    }
                }
            }
        }