// GET: Targets
 public ActionResult Index()
 {
     var officeManager = new DataAccess.OfficeMananer();
     ViewData["Offices"] = officeManager.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     BundleConfig.AddScript("~/Scripts/Offices", "targets.js", ControllerName);
     return View();
 }
        public void ArrivalsReport(string startDate, string endDate)
        {
            var startDateTime = Convert.ToDateTime(startDate);
            var endDateTime = Convert.ToDateTime(endDate);
            var reportManager = new DataAccess.ReportManager();
            var officeManager = new DataAccess.OfficeMananer();
            var offices = officeManager.GetOfficeIDs(IsAdmin ? 0 : UserDetail.UserId);
            var arrivalsReportData = reportManager.GetArrivalAudiences(offices, startDateTime, endDateTime);
            var columnDetails = new List<Utilities.ExcelExport.ColumnDetail>();
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Week Ending", Value = "EndDate", Type = "dateformat", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "FSM Name", Value = "FSMDetailName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Name of Selected Person", Value = "PeopleName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Continent Office", Value = "OfficeName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Service Selected", Value = "ServiceName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Date of arrival", Value = "VisitDate", Type = "dateformat", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Arrived", Value = "ArrivalStatus", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "GBS", Value = "GSBAmount", Type = "currencyamount", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Funds", Value = "Amount", Type = "currencyamount", TitleStyle = "header1" });
            var excelDataXML = Utilities.ExcelExport.ExportExcel("People of Arrivals From", columnDetails, arrivalsReportData.Tables[0]);
            string templatePath = "~/ExportTemplate/Excel/Template.xlsx";
            string downloadFilename = string.Format("People of Arrivals From {0} to {1}", startDateTime.ToString("MMM-dd-yyyy"), endDateTime.ToString("MMM-dd-yyyy"));
            try
            {
                OfficeExports.Excel.UpdateWorkbook(excelDataXML, templatePath, downloadFilename, false);
            }
            catch (Exception ex)
            {

            }
        }
 public ActionResult Add()
 {
     if (!IsAdmin) { return RedirectToAction("AddByOffice"); }
     var officeMananer = new DataAccess.OfficeMananer();
     var offices = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     ViewData["Offices"] = offices.ToList();
     return PartialView();
 }
 public PartialViewResult Edit(int id)
 {
     var officeManager = new DataAccess.OfficeMananer();
     ViewData["Offices"] = officeManager.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     var targetManager = new DataAccess.TargetManager();
     var target = targetManager.GetTarget(id);
     return PartialView(target);
 }
 public ActionResult AddByOffice()
 {
     var officeMananer = new DataAccess.OfficeMananer();
     var offices = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId, 4);
     ViewData["Offices"] = offices;
     ViewData["UserID"] = UserDetail.UserId;
     return PartialView();
 }
 public ActionResult Edit(int id)
 {
     var officeMananer = new DataAccess.OfficeMananer();
     var taskManager = new DataAccess.TaskManager();
     var task = taskManager.GetTask(id);
     var offices = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     ViewData["Offices"] = offices.Where(model => model.IsDeleted == false).ToList();
     return PartialView(task);
 }
 public ActionResult Detail(int id)
 {
     var offices = new DataAccess.OfficeMananer().GetOffice(id);
     BundleConfig.AddStyle("/Offices", "Detail.css", ControllerName);
     BundleConfig.AddScript("~/Scripts/Offices", "Detail.js", ControllerName);
     Script = string.Format("officeDetail.options.officeID = {0};", id);
     StartupScript = "officeDetail.DoPageSetting();";
     return View(offices);
 }
 public PartialViewResult Add()
 {
     var customRoleProvider = new CustomAuthentication.CustomRoleProvider();
     var officeMananer = new DataAccess.OfficeMananer();
     // Remove Admin from User Role
     var roles = IsAdmin ? customRoleProvider.GetAllRoles() : customRoleProvider.GetAllRoles().Where(model => model.RoleId != 1 && model.RoleId != 2).ToList();
     ViewData["Offices"] = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     return PartialView(roles);
 }
 public PartialViewResult Edit(int id)
 {
     var customRoleProvider = new CustomAuthentication.CustomRoleProvider();
     var roleID = customRoleProvider.GetRole("Office");
     var customMembershipProvider = new CustomAuthentication.CustomMembershipProvider();
     var Users = customMembershipProvider.GetUsers(roleID.RoleId);
     ViewData["Users"] = Users;
     var officesManager = new DataAccess.OfficeMananer();
     return PartialView(officesManager.GetOffice(id));
 }
 public PartialViewResult Edit(int id)
 {
     var customRoleProvider = new CustomAuthentication.CustomRoleProvider();
     var userManager = new DataAccess.UserManager();
     var user = userManager.GetUserDetail(id);
     var roles = IsAdmin ? customRoleProvider.GetAllRoles() : customRoleProvider.GetAllRoles().Where(model => model.RoleId != 1 && model.RoleId != 2).ToList();
     ViewData["UserRoles"] = roles;
     var officeMananer = new DataAccess.OfficeMananer();
     ViewData["Offices"] = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     return PartialView(user);
 }
        public void OfficeWeeklyCumulativeState(string startDate, string endDate)
        {
            var startDateTime = Convert.ToDateTime(startDate);
            var endDateTime = Convert.ToDateTime(endDate);
            var reportManager = new DataAccess.ReportManager();
            var officeManager = new DataAccess.OfficeMananer();
            var offices = officeManager.GetOfficeIDs(IsAdmin ? 0 : UserDetail.UserId);
            var arrivalsReportData = reportManager.GetOfficeWeeklyCumulativeState(offices, startDateTime, endDateTime);
            var regions = new Dictionary<string, Utilities.ExcelExport.RegionDetail>();

            #region State Report
            var stateColumnDetails = new List<Utilities.ExcelExport.ColumnDetail>();
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Week Ending", Value = "EndDate", Type = "dateformat", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Office Name", Value = "OfficeName", Type = "string", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Funds Rised", Value = "FundRaised", Type = "currencyamount", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "GBS", Value = "GSBAmount", Type = "currencyamount", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Reaches", Value = "ReachesCount", Type = "string", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "In Progress", Value = "InProcessCount", Type = "string", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Booked", Value = "BookedCount", Type = "string", TitleStyle = "header1" });
            stateColumnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Arrivals", Value = "ArrivalCount", Type = "string", TitleStyle = "header1" });
            regions["CumulativeState"] = new Utilities.ExcelExport.RegionDetail { Title = "Week Cumulative State", TitleStyle = "header1", ColumnDetail = stateColumnDetails };
            #endregion

            #region Individual Report
            var columnDetails = new List<Utilities.ExcelExport.ColumnDetail>();
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Week Ending", Value = "EndDate", Type = "dateformat", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "FSM Name", Value = "FSMDetailName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Name of Selected Person", Value = "PeopleName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Continent Office", Value = "OfficeName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Service Selected", Value = "ServiceName", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Date of arrival", Value = "VisitDate", Type = "dateformat", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Arrived", Value = "ArrivalStatus", Type = "string", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "GBS", Value = "GSBAmount", Type = "currencyamount", TitleStyle = "header1" });
            columnDetails.Add(new Utilities.ExcelExport.ColumnDetail { Name = "Funds", Value = "Amount", Type = "currencyamount", TitleStyle = "header1" });

            regions["Booked"] = new Utilities.ExcelExport.RegionDetail { Title = "Booked", TitleStyle = "header1", ColumnDetail = columnDetails };
            regions["InProcess"] = new Utilities.ExcelExport.RegionDetail { Title = "In Process", TitleStyle = "header1", ColumnDetail = columnDetails };
            regions["Reachies"] = new Utilities.ExcelExport.RegionDetail { Title = "Reachies", TitleStyle = "header1", ColumnDetail = columnDetails };
            regions["Arrivals"] = new Utilities.ExcelExport.RegionDetail { Title = "Arrivals", TitleStyle = "header1", ColumnDetail = columnDetails };
            #endregion

            var excelDataXML = Utilities.ExcelExport.ExportExcel("Office Report", regions, arrivalsReportData);
            string templatePath = "~/ExportTemplate/Excel/Template.xlsx";
            string downloadFilename = string.Format("Office Report From {0} to {1}", startDateTime.ToString("MMM-dd-yyyy"), endDateTime.ToString("MMM-dd-yyyy"));
            try
            {
                OfficeExports.Excel.UpdateWorkbook(excelDataXML, templatePath, downloadFilename, false);
            }
            catch (Exception ex)
            {

            }
        }
 public PartialViewResult Edit(int id)
 {
     var userDetailManager = new DataAccess.UserManager();
     var officeMananer = new DataAccess.OfficeMananer();
     var user = userDetailManager.GetUserDetail(UserDetail.UserId);
     var offices = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     ViewData["Offices"] = offices;
     var conventionManager = new DataAccess.ConventionManager();
     var conventions = conventionManager.GetConventions();
     ViewData["Conventions"] = conventions;
     var eventManager = new DataAccess.EventManager();
     var eventDetail = eventManager.GetEventDetail(id);
     return PartialView(eventDetail);
 }
 private List<dynamic> GetEvents(DateTime startDate, DateTime endDate)
 {
     var eventManager = new DataAccess.EventManager();
     var officeManager = new DataAccess.OfficeMananer();
     var offices = officeManager.GetOfficeIDs(IsAdmin ? 0 : UserDetail.UserId);
     var events = eventManager.GetEvents(offices.ToList(), startDate, endDate);
     return events.Select(model => new
     {
         type = "EVENT",
         id = model.EventId,
         title = model.Name,
         start = model.StartDate.ToString("yyyy-MM-ddThh:mm:ss"),
         end = model.EndDate.ToString("yyyy-MM-ddThh:mm:ss"),
         imageURL = (model.Office == null ? "Content/Images/Common/avatar.png" : Url.Content(model.Office.FileResource.path))
     }).ToList<dynamic>();
 }
 public PartialViewResult Add()
 {
     var visitTypeManager = new DataAccess.VisitTypeManager();
     ViewData["VisitTypes"] = visitTypeManager.GetVisitTypes();
     var officeManager = new DataAccess.OfficeMananer();
     var offices = officeManager.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     ViewData["Offices"] = offices;
     var eventManager = new DataAccess.EventManager();
     ViewData["Events"] = eventManager.GetActiveEvents(offices.Select(model => model.OfficeId).ToList());
     var userManager = new DataAccess.FSMDetailManager();
     ViewData["FSMUsers"] = userManager.FSMDetails();
     var conventionManager = new DataAccess.ConventionManager();
     ViewData["Convention"] = conventionManager.GetActiveConventions();
     var serviceManager = new DataAccess.ServiceManager();
     ViewData["Services"] = serviceManager.GetServices();
     return PartialView();
 }
 public JsonResult GetGSBTargets(string startDate, string endDate)
 {
     var dataSeries = new List<object>();
     var targetManager = new DataAccess.TargetManager();
     var audienceManager = new DataAccess.AudienceManager();
     var offices = new DataAccess.OfficeMananer().GetOfficeIDs(IsAdmin ? 0 : UserDetail.UserId);
     var startDateTime = Convert.ToDateTime(startDate);
     var endDateTime = Convert.ToDateTime(endDate);
     var targets = targetManager.GetGSBTargets(offices, startDateTime, endDateTime);
     var achievedTargets = audienceManager.GetGSBTargetsAchived(offices, startDateTime, endDateTime);
     dataSeries.Add(targets);
     dataSeries.Add(achievedTargets);
     var totalTargets = targets.data.Sum(model => model.y);
     var totalAchievedTargets = achievedTargets.data.Sum(model => model.y);
     var chartWidgetData = new { TotalTarget = totalTargets, TotalTargetAchieved = totalAchievedTargets, AchivedTarget = 0, ChartData = dataSeries };
     return Json(chartWidgetData);
 }
 public ActionResult Add()
 {
     var userDetailManager = new DataAccess.UserManager();
     var officeMananer = new DataAccess.OfficeMananer();
     var user = userDetailManager.GetUserDetail(UserDetail.UserId);
     var offices = officeMananer.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     ViewData["Offices"] = offices;
     var conventionManager = new DataAccess.ConventionManager();
     var conventions = conventionManager.GetConventions();
     ViewData["Conventions"] = conventions;
     if (IsAdmin)
     {
         var customRoleProvider = new CustomAuthentication.CustomRoleProvider();
         var customMembershipProvider = new CustomAuthentication.CustomMembershipProvider();
         ViewData["Employee"] = customMembershipProvider.GetUsers(4);
     }
     return PartialView();
 }
 public JsonResult GetOffices(int pageNo, int pageSize, string startDate, string endDate)
 {
     try
     {
         var officesManager = new DataAccess.OfficeMananer();
         var offices = officesManager.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
         var totalRecord = offices.Count();
         var startDateTime = Convert.ToDateTime(startDate);
         var endDateTime = Convert.ToDateTime(endDate);
         var filteredOffices = offices
             .Where(model => model.IsDeleted == false)
             .OrderBy(model => model.Name)
             .Select(modal => new
             {
                 ID = modal.OfficeId,
                 Name = modal.Name,
                 Fundraising = GetFundRaisingTargets(modal.OfficeId, startDateTime, endDateTime),
                 Task = GetTaskTargets(modal.OfficeId, startDateTime, endDateTime),
                 Arrival = GetArrivalTargets(modal.OfficeId, startDateTime, endDateTime),
                 BookingInProcess = GetBookingTargets(modal.OfficeId, startDateTime, endDateTime),
                 Events = GetEventsTarget(modal.OfficeId, startDateTime, endDateTime),
                 ProfilePic = modal.FileResource == null ? Url.Content("~/Content/Images/Common/office_convention_avatar.png") : Url.Content(modal.FileResource.path)
             }).OrderBy(modal => modal.ID).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();
         return Json(new
         {
             totalRecord = totalRecord,
             currentPage = pageNo,
             pageSize = pageSize,
             offices = filteredOffices
         });
     }
     catch (Exception ex)
     {
         return null;
     }
 }
 public JsonResult GetEvents(string startDate, string endDate)
 {
     var startDateTime = Convert.ToDateTime(startDate);
     var endDateTime = Convert.ToDateTime(endDate);
     var isUpdateEnable = UserDetail.User.Roles.Any(role => new List<int> { 1, 2 }.Contains(role.RoleId));
     var officesManager = new DataAccess.OfficeMananer();
     var eventManager = new DataAccess.EventManager();
     var offices = officesManager.GetOfficeIDs(IsAdmin ? 0 : UserDetail.UserId);
     var events = eventManager.GetEvents(offices.ToList(), startDateTime, endDateTime)
         .Select(modal => new
         {
             id = modal.EventId,
             name = modal.Name,
             startDate = modal.StartDate.ToString("MMM dd,yyyy HH:mm"),
             endDate = modal.EndDate.ToString("MMM dd,yyyy HH:mm"),
             description = modal.Description,
             city = modal.City,
             IsUpdateEnable = isUpdateEnable
         }).ToList();
     return Json(new { data = events });
 }
        public UserDetail GetUserDetail(int id)
        {
            try
            {
                DataSet dataSet;
                using (var command = database.GetStoredProcCommand("[dbo].[sproc_SimplePlatForm_GetUserByID]"))
                {
                    database.AddInParameter(command, "@ID", DbType.Int32, id);
                    dataSet = database.ExecuteDataSet(command);
                }

                if (dataSet == null || dataSet.Tables.Count <= 0) return null;
                var officeManager = new DataAccess.OfficeMananer();
                var dataTable = dataSet.Tables[0];
                var userDetail = (from dataRow in dataTable.AsEnumerable()
                                  select new DataModel.Modal.UserDetail
                                  {
                                      UserId = dataRow.Field<int>("UserId"),
                                      User = new User
                                      {
                                          UserId = dataRow.Field<int>("UserId"),
                                          UserName = dataRow.Field<string>("UserName"),
                                          FirstName = dataRow.Field<string>("FirstName"),
                                          LastName = dataRow.Field<string>("LastName"),
                                          Email = dataRow.Field<string>("Email"),
                                          Roles = new List<Role> {
                                            new Role {
                                                RoleId = dataRow.Field<int>("RoleId"),
                                                RoleName = dataRow.Field<string>("RoleName")
                                            }
                                        }
                                      },
                                      Offices = officeManager.GetOffices(dataRow.Field<int>("UserId")),
                                      FileResource = dataRow.Field<int?>("FileResourceID").GetValueOrDefault(0) == 0 ? null : new FileResource
                                      {
                                          Id = dataRow.Field<int>("FileResourceID"),
                                          name = dataRow.Field<string>("FileResourceName"),
                                          path = dataRow.Field<string>("FileResourcePath")
                                      }
                                  }).FirstOrDefault();
                return userDetail;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
 public JsonResult UploadFile()
 {
     var status = false;
     HttpPostedFileBase myFile = null;
     if (Request.Files.Count > 0) myFile = Request.Files[0];
     if (myFile != null && myFile.ContentLength != 0)
     {
         string pathForSaving = Server.MapPath("~/ImageUploads");
         if (SharedFunction.CreateFolderIfNeeded(pathForSaving))
         {
             try
             {
                 string fileName = DateTime.Now.ToString("MMddyyyyHHmmss") + Path.GetExtension(myFile.FileName);
                 myFile.SaveAs(Path.Combine(pathForSaving, fileName));
                 string path = "~/ImageUploads/" + fileName;
                 var officesManager = new DataAccess.OfficeMananer();
                 status = officesManager.Add(Request.Form["name"].ToString(), Request.Form["contactNo"].ToString(), Request.Form["city"].ToString(), Request.Form["userID"].Split(',').ToList(), path, myFile.FileName);
             }
             catch (Exception ex)
             {
                 return Json(ex.InnerException);
             }
         }
     }
     return Json(status);
 }
 public JsonResult Delete(int id)
 {
     if (!IsAdmin) { return Json(false); }
     var officesManager = new DataAccess.OfficeMananer();
     return Json(officesManager.Delete(id));
 }
 public ActionResult Index()
 {
     BundleConfig.AddScript("~/Scripts/Audiences", "audiences.js", ControllerName);
     var officeManager = new DataAccess.OfficeMananer();
     var offices = officeManager.GetOffices(IsAdmin ? 0 : UserDetail.UserId);
     ViewData["Offices"] = offices;
     var eventManager = new DataAccess.EventManager();
     ViewData["Events"] = eventManager.GetActiveEvents(offices.Select(model => model.OfficeId).ToList());
     var userManager = new DataAccess.FSMDetailManager();
     ViewData["FSMUsers"] = userManager.FSMDetails();
     var conventionManager = new DataAccess.ConventionManager();
     ViewData["Convention"] = conventionManager.GetActiveConventions();
     var serviceManager = new DataAccess.ServiceManager();
     ViewData["Services"] = serviceManager.GetServices();
     StartupScript = "audiences.DoPageSetting();";
     return View();
 }
        public ActionResult Index()
        {
            var officeMananer = new DataAccess.OfficeMananer();
            var offices = officeMananer.GetOffices(UserDetail.UserId);
            var totalOffices = offices.Count();
            var office = offices.FirstOrDefault();
            if (totalOffices == 1) { return RedirectToAction("Detail", new { id = office.OfficeId }); }

            BundleConfig.AddStyle("/Offices", "Offices.css", ControllerName);
            BundleConfig.AddScript("~/Scripts/Offices", "Offices.js", ControllerName);
            Script = string.Format("office.options.isEditDeleteEnable = {0};", IsAdmin.ToString().ToLower());
            return View();
        }
        public JsonResult GetAudiences(string startDate, string endDate)
        {
            var startDateTime = Convert.ToDateTime(startDate);
            var endDateTime = Convert.ToDateTime(endDate);
            var officeManager = new DataAccess.OfficeMananer();
            var offices = officeManager.GetOfficeIDs(IsAdmin ? 0 : UserDetail.UserId);
            var audienceManager = new DataAccess.AudienceManager();
            var audiences = audienceManager.GetAudiences(offices.ToList(), startDateTime, endDateTime);
            if (audiences == null) { return Json(new { data = new { } }); }
            var users = audiences.Select(model => new
            {
                ID = model.AudienceID,
                Name = model.Name,
                Contact = model.Contact,
                EmailAddress = model.EmailAddress,
                VisitDate = model.VisitDate.ToString("MMM dd,yyyy"),
                OfficeName = model.Office.Name,
                VisitType = model.VisitType.VisitTypeName,
                EventName = (model.Event == null ? "-" : model.Event.Name),
                ConventionName = (model.Convention == null ? "-" : model.Convention.Name),
                ServiceName = (model.Service == null ? "-" : model.Service.ServiceName),
                Status = (model.VisitType.VisitTypeId == 1) ? "-" : (model.BookingStatus == 1 ? "In Progress" : (model.BookingStatus == 2 ? "Booked" : "Reach")),
                FSMName = model.FSMDetail == null ? " - " : model.FSMDetail.Name,
                Attended = model.IsAttended,
                GSBAmount = model.GSBAmount,
                DonationAmount = model.Amount
            }).ToList();

            return Json(new
            {
                data = users
            });
        }
 public JsonResult Add(string name, string contactNo, string city, List<string> userID)
 {
     if (!IsAdmin) { return Json(false); }
     var officesManager = new DataAccess.OfficeMananer();
     return Json(officesManager.Add(name, contactNo, city, userID));
 }