예제 #1
0
        public JsonResult SpaceBookings([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, string searchdata = "", int?statusId = null)
        {
            List <SpaceBooking> spaceBookingList;

            SpaceBooking model = new SpaceBooking()
            {
                StatusId       = statusId,
                SpaceName      = searchdata,
                StartRowIndex  = requestModel.Start + 1,
                EndRowIndex    = requestModel.Start + requestModel.Length,
                SortDirection  = requestModel.OrderDir,
                SortExpression = requestModel.Columns.ElementAt(requestModel.OrderColumn).Data
            };

            spaceBookingList = this.masterDataBL.Search(model);
            int totalRecord    = 0;
            int filteredRecord = 0;

            if (spaceBookingList != null && spaceBookingList.Count > 0)
            {
                totalRecord    = spaceBookingList.FirstOrDefault().TotalRecords;
                filteredRecord = spaceBookingList.FirstOrDefault().TotalRecords;
            }

            return(this.Json(new DataTablesResponse(requestModel.Draw, spaceBookingList, filteredRecord, totalRecord), JsonRequestBehavior.AllowGet));
        }
예제 #2
0
 /// <summary>
 /// Add Space Booking
 /// </summary>
 /// <param name="spaceBooking">spaceBooking</param>
 /// <param name="statusId">Status Id</param>
 /// <returns>Id</returns>
 public int AddSpaceBooking(SpaceBooking spaceBooking, int?statusId)
 {
     using (ServiceContext service = new ServiceContext())
     {
         spaceBooking.StatusId   = statusId.ToInteger();
         spaceBooking.CustomerId = ProjectSession.CustomerId > 0 ? ProjectSession.CustomerId : spaceBooking.CustomerId;
         return(service.Save <SpaceBooking>(spaceBooking, "CUSPSpaceBookingsSave"));
     }
 }
예제 #3
0
        public ActionResult ViewSpaceStatus(int id = 0)
        {
            SpaceBooking model = new SpaceBooking();

            model.ID = id;
            if (id > 0)
            {
                model = this.masterDataBL.Search(model).FirstOrDefault();
            }

            return(this.PartialView(PartialViews.ViewSpaceStatus, model));
        }
예제 #4
0
        public ActionResult SpaceBookingRequests(SpaceBooking spaceBooking)
        {
            List <SpaceBookingRequest> spaceBookings = new List <SpaceBookingRequest>();

            if (!string.IsNullOrEmpty(spaceBooking.BookingDate) && spaceBooking.SpaceId.HasValue)
            {
                SpaceBookingRequest model = new SpaceBookingRequest();
                model.FromDate = DateTime.ParseExact(spaceBooking.BookingDate, ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture).Date;
                model.ToDate   = model.FromDate.Value.Date.AddDays(1);
                model.SpaceId  = spaceBooking.SpaceId;
                spaceBookings  = this.masterDataBL.Search(model);
            }

            return(this.PartialView(PartialViews.SpaceBookingRequests, spaceBookings));
        }
예제 #5
0
        public JsonResult GetSpaceBookingRequestTimings(SpaceBooking spaceBooking)
        {
            List <SpaceBookingRequest> spaceBookings = new List <SpaceBookingRequest>();

            if (!string.IsNullOrEmpty(spaceBooking.BookingDate) && spaceBooking.SpaceId.HasValue)
            {
                SpaceBookingRequest model = new SpaceBookingRequest();
                model.FromDate = DateTime.ParseExact(spaceBooking.BookingDate, ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture).Date;
                model.ToDate   = model.FromDate.Value.Date.AddDays(1);
                model.SpaceId  = spaceBooking.SpaceId;
                spaceBookings  = this.masterDataBL.Search(model);
            }

            var spaceBookingRequestTimings = spaceBookings
                                             .Where(s => s.FromDate != null && s.ToDate != null)
                                             .Select(s => new { From = s.FromDate.Value.ToString("HH:mm"), To = s.ToDate.Value.ToString("HH:mm") })
                                             .ToList();

            return(this.Json(spaceBookingRequestTimings, JsonRequestBehavior.DenyGet));
        }
예제 #6
0
        public JsonResult RescheduleBookSpace(SpaceBooking spaceBooking)
        {
            int rescheduldid = spaceBooking.ID;

            spaceBooking.ID = 0;
            try
            {
                if (this.ModelState.IsValid)
                {
                    string comment = spaceBooking.Comment;
                    spaceBooking.Comment = string.Empty;

                    spaceBooking.FromDate = DateTime.ParseExact(spaceBooking.BookingDate + " " + spaceBooking.FromTime, ProjectConfiguration.DateTimeFormat, System.Globalization.CultureInfo.InvariantCulture);
                    spaceBooking.ToDate   = DateTime.ParseExact(spaceBooking.BookingDate + " " + spaceBooking.ToTime, ProjectConfiguration.DateTimeFormat, System.Globalization.CultureInfo.InvariantCulture);

                    if (spaceBooking.FromDate <= DateTime.Now)
                    {
                        return(this.Json(new { resultData = 0, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = Messages.SpaceBookingTimeMessage }, JsonRequestBehavior.DenyGet));
                    }

                    if (spaceBooking.ToDate <= spaceBooking.FromDate)
                    {
                        return(this.Json(new { resultData = 0, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = Messages.TimeCompareMessage.SetArguments(General.ToTime, General.FromTime) }, JsonRequestBehavior.DenyGet));
                    }

                    int    status  = this.masterDataBL.AddSpaceBooking(spaceBooking, SystemEnumList.SpaceBookingStatus.Approved.GetHashCode().ToInteger());
                    string message = string.Empty;
                    if (status > 0)
                    {
                        message = Messages.SpaceBookingReschedule;

                        SpaceBooking oldspacebooking = this.masterDataBL.SelectObject <SpaceBooking>(rescheduldid);
                        string       oldSpaceName    = oldspacebooking.SpaceName;
                        oldspacebooking.StatusId     = ConvertTo.ToInteger(SystemEnumList.SpaceBookingStatus.Rescheduled.GetHashCode());
                        oldspacebooking.RescheduleId = status;
                        oldspacebooking.Reschedule   = true;
                        oldspacebooking.SpaceName    = null;
                        oldspacebooking.Comment      = comment;
                        int id = this.masterDataBL.Save <SpaceBooking>(oldspacebooking, checkForDuplicate: false);

                        if (id > 0)
                        {
                            spaceBooking.ID = status;
                            NotificationFactory.AddNotification(NotificationType.SpaceBookingReschedule, spaceBooking);

                            SpaceBooking   newSpaceBooking = this.masterDataBL.SelectObject <SpaceBooking>(status);
                            EmailViewModel emailModel      = new EmailViewModel()
                            {
                                Email       = newSpaceBooking.CustomerEmail,
                                Name        = newSpaceBooking.CustomerName,
                                OldroomName = oldSpaceName,
                                OldDate     = oldspacebooking.FromDate.ToDate().ToString(ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture),
                                OldFromtime = oldspacebooking.FromDate.ToDate().ToString("HH:mm", System.Globalization.CultureInfo.InvariantCulture),
                                OldTotime   = oldspacebooking.ToDate.ToDate().ToString("HH:mm", System.Globalization.CultureInfo.InvariantCulture),
                                OldPeople   = oldspacebooking.NoOfPeople.ToString(),
                                RoomName    = newSpaceBooking.SpaceName,
                                People      = spaceBooking.NoOfPeople.ToString(),
                                Date        = spaceBooking.BookingDate.ToDate().ToString(ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture),
                                Fromtime    = spaceBooking.FromDate.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                                Totime      = spaceBooking.ToDate.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                                LanguageId  = ConvertTo.ToInteger(ProjectSession.AdminPortalLanguageId)
                            };
                            UserMail.RoomBookingReschedule(emailModel);
                            return(this.Json(new { resultData = status, status = Infrastructure.SystemEnumList.MessageBoxType.Success.GetDescription(), message = message, title = General.BookSpace }, JsonRequestBehavior.DenyGet));
                        }
                        else
                        {
                            return(this.Json(new { success = false, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = Messages.ErrorMessage.SetArguments(General.BookSpace), title = Infrastructure.SystemEnumList.Title.Space.GetDescription(), JsonRequestBehavior.AllowGet }));
                        }
                    }
                    else if (status == -3)
                    {
                        var spaceCapacity = new MasterDataBL().GetSpaceList(new Space()
                        {
                            ID = spaceBooking.SpaceId.Value
                        })?.FirstOrDefault()?.Capacity ?? 0;
                        message = Messages.NoOfAttendeeExceedCapacity.SetArguments(spaceCapacity, General.NoOfPeople);
                    }
                    else if (status == -4)
                    {
                        message = Messages.BookingAreaUnavailable;
                    }
                    else
                    {
                        message = Messages.DuplicateMessage.SetArguments(General.BookSpace);
                    }

                    return(this.Json(new { resultData = status, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = message }, JsonRequestBehavior.DenyGet));
                }
                else
                {
                    string errorMsg = string.Empty;
                    foreach (ModelState modelState in this.ViewData.ModelState.Values)
                    {
                        foreach (ModelError error in modelState.Errors)
                        {
                            if (!string.IsNullOrEmpty(errorMsg))
                            {
                                errorMsg = errorMsg + " , ";
                            }

                            errorMsg = errorMsg + error.ErrorMessage;
                        }
                    }

                    return(this.Json(new { resultData = string.Empty, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = errorMsg }, JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                return(this.Json(new { resultData = string.Empty, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = ex.Message == null ? ex.InnerException.Message : ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }
예제 #7
0
        public JsonResult ApproveCancelSpaceBooking(int statusId, int spaceBookingId = 0, string comment = null)
        {
            string msg = string.Empty;

            try
            {
                if (statusId == SystemEnumList.SpaceBookingStatus.Approved.GetHashCode())
                {
                    msg = SystemEnumList.SpaceBookingStatus.Approved.GetDescription();
                }
                else if (statusId == SystemEnumList.SpaceBookingStatus.Cancel.GetHashCode())
                {
                    msg = SystemEnumList.SpaceBookingStatus.Cancel.GetDescription();
                }
                else if (statusId == SystemEnumList.SpaceBookingStatus.Pending.GetHashCode())
                {
                    msg = SystemEnumList.SpaceBookingStatus.Pending.GetDescription();
                }

                SpaceBooking spacebooking = this.masterDataBL.SelectObject <SpaceBooking>(spaceBookingId);
                spacebooking.StatusId = statusId;
                string spaceName = spacebooking.SpaceName;
                spacebooking.SpaceName = null;
                if (statusId == SystemEnumList.SpaceBookingStatus.Cancel.GetHashCode())
                {
                    spacebooking.Comment = comment;
                }

                int id = this.masterDataBL.Save <SpaceBooking>(spacebooking, checkForDuplicate: false);
                if (id > 0)
                {
                    if (statusId == SystemEnumList.SpaceBookingStatus.Approved.GetHashCode())
                    {
                        EmailViewModel emailModel = new EmailViewModel()
                        {
                            Email      = spacebooking.CustomerEmail,
                            Name       = spacebooking.CustomerName,
                            People     = spacebooking.NoOfPeople.ToString(),
                            RoomName   = spaceName,
                            Date       = spacebooking.FromDate.ToDate().ToString(ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture),
                            Fromtime   = spacebooking.FromDate.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                            Totime     = spacebooking.ToDate.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                            LanguageId = ConvertTo.ToInteger(ProjectSession.AdminPortalLanguageId)
                        };
                        UserMail.RoomBookingApprove(emailModel);
                        NotificationFactory.AddNotification(NotificationType.SpaceBookingApprove, spacebooking);
                    }
                    else if (statusId == SystemEnumList.SpaceBookingStatus.Cancel.GetHashCode())
                    {
                        EmailViewModel emailModel = new EmailViewModel()
                        {
                            Email      = spacebooking.CustomerEmail,
                            Name       = spacebooking.CustomerName,
                            People     = spacebooking.NoOfPeople.ToString(),
                            RoomName   = spaceName,
                            Date       = spacebooking.FromDate.ToDate().ToString(ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture),
                            Fromtime   = spacebooking.FromDate.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                            Totime     = spacebooking.ToDate.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                            LanguageId = ConvertTo.ToInteger(ProjectSession.AdminPortalLanguageId)
                        };
                        UserMail.RoomBookingCancel(emailModel);
                        NotificationFactory.AddNotification(NotificationType.SpaceBookingReject, spacebooking);
                    }
                    else if (statusId == SystemEnumList.SpaceBookingStatus.Pending.GetHashCode())
                    {
                        NotificationFactory.AddNotification(NotificationType.SpaceBookingPending, spacebooking);
                    }

                    return(this.Json(new { success = true, status = Infrastructure.SystemEnumList.MessageBoxType.Success.GetDescription(), message = Messages.ApproveSpaceBookingStatus.SetArguments(msg), title = Infrastructure.SystemEnumList.Title.Space.GetDescription(), JsonRequestBehavior.AllowGet }));
                }
                else
                {
                    msg = Messages.ErrorMessage.SetArguments(General.BookSpace);
                    if (id == -3)
                    {
                        var spaceCapacity = new MasterDataBL().GetSpaceList(new Space()
                        {
                            ID = spaceBookingId
                        })?.FirstOrDefault()?.Capacity ?? 0;
                        msg = Messages.NoOfAttendeeExceedCapacity.SetArguments(spaceCapacity, General.NoOfPeople);
                    }
                    else if (id == -4)
                    {
                        msg = Messages.BookingAreaUnavailable;
                    }

                    return(this.Json(new { success = false, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = msg, title = Infrastructure.SystemEnumList.Title.Space.GetDescription(), JsonRequestBehavior.AllowGet }));
                }
            }
            catch (Exception ex)
            {
                return(this.Json(new { success = false, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = Messages.ErrorMessage.SetArguments(msg), title = Infrastructure.SystemEnumList.Title.Space.GetDescription(), JsonRequestBehavior.AllowGet }));
            }
        }
예제 #8
0
        /// <summary>
        /// AddNotification
        /// </summary>
        /// <param name="notificationType">notificationType</param>
        /// <param name="notificationData">notificationData</param>
        public static void AddNotification(SystemEnumList.NotificationType notificationType, object notificationData)
        {
            try
            {
                Notification notification = new Notification()
                {
                    IsRead             = false,
                    NotificationTypeId = (int)notificationType
                };

                bool isAddNotification = false;
                NotificationDataBL notificationDataBL = new NotificationDataBL();

                switch (notificationType)
                {
                case SystemEnumList.NotificationType.BookBorrow:
                case SystemEnumList.NotificationType.BookApprove:
                case SystemEnumList.NotificationType.BookCancel:
                case SystemEnumList.NotificationType.BookPending:
                case SystemEnumList.NotificationType.BookReturnDelay:
                case SystemEnumList.NotificationType.BookReturnReminder:
                case SystemEnumList.NotificationType.BookReturnTodayReminder:
                case SystemEnumList.NotificationType.BookBorrowedByAdmin:
                case SystemEnumList.NotificationType.BookReturn:
                    BorrowedBook borrowedBook = null;
                    if (notificationData is BorrowedBook)
                    {
                        borrowedBook = (BorrowedBook)notificationData;
                    }
                    else
                    {
                        borrowedBook = notificationDataBL.Search <BorrowedBook>(new BorrowedBook()
                        {
                            ID = (int)notificationData
                        }).FirstOrDefault();
                    }
                    if (borrowedBook != null && borrowedBook.ID > 0 && borrowedBook.CustomerId > 0)
                    {
                        if (notificationType == SystemEnumList.NotificationType.BookBorrow)
                        {
                            notification.IsAdmin = true;
                            notification.UserId  = 0;
                        }
                        else
                        {
                            notification.IsAdmin = false;
                            notification.UserId  = borrowedBook.CustomerId;
                        }
                        notification.BorrowedBookId        = borrowedBook.ID;
                        notification.NotificationStartDate = DateTime.Now.Date;
                        if (notificationType == SystemEnumList.NotificationType.BookReturnDelay || notificationType == SystemEnumList.NotificationType.BookReturnReminder || notificationType == SystemEnumList.NotificationType.BookReturnTodayReminder)
                        {
                            notification.NotificationEndDate = DateTime.Now.Date;
                        }
                        else
                        {
                            notification.NotificationEndDate = borrowedBook.ReturnDate;
                        }
                        isAddNotification = true;
                    }
                    break;

                case SystemEnumList.NotificationType.SpaceBooking:
                case SystemEnumList.NotificationType.SpaceBookingApprove:
                case SystemEnumList.NotificationType.SpaceBookingReject:
                case SystemEnumList.NotificationType.SpaceBookingReschedule:
                    SpaceBooking spaceBooking = null;
                    if (notificationData is SpaceBooking)
                    {
                        spaceBooking = (SpaceBooking)notificationData;
                    }
                    else
                    {
                        spaceBooking = notificationDataBL.Search <SpaceBooking>(new SpaceBooking()
                        {
                            ID = (int)notificationData
                        }).FirstOrDefault();
                    }
                    if (spaceBooking != null && spaceBooking.ID > 0 && spaceBooking.CustomerId > 0)
                    {
                        if (notificationType == SystemEnumList.NotificationType.SpaceBooking)
                        {
                            notification.IsAdmin = true;
                            notification.UserId  = 0;
                        }
                        else
                        {
                            notification.IsAdmin = false;
                            notification.UserId  = spaceBooking.CustomerId;
                        }
                        notification.SpaceBookingId        = spaceBooking.ID;
                        notification.NotificationStartDate = DateTime.Now.Date;
                        notification.NotificationEndDate   = spaceBooking.FromDate?.Date.AddDays(1);
                        isAddNotification = true;
                    }
                    break;

                case SystemEnumList.NotificationType.BookAvailable:
                    BookNotification bookNotification = (BookNotification)notificationData;
                    notification.IsAdmin = false;
                    notification.UserId  = bookNotification.CustomerId;
                    notification.BookId  = bookNotification.BookId;
                    notification.NotificationStartDate = DateTime.Now.Date;
                    isAddNotification = true;
                    break;

                default:
                    break;
                }

                LogWritter.WriteErrorFile("AddNotification isAddNotification: " + isAddNotification.ToString(), true, "FetchNotifications_");
                if (isAddNotification)
                {
                    var result = notificationDataBL.SaveNotification(notification);
                    LogWritter.WriteErrorFile("AddNotification result: " + result.ToString(), true, "FetchNotifications_");
                    // if (result > 0)
                    // {
                    //     Task.Run(() =>
                    //     {
                    //         new SendNotification().RefreshNotificationCount(SignalRConnections.connections.Values.SelectMany(x => x).ToList());
                    //     });
                    // }
                }
            }
            catch (Exception ex)
            {
                LogWritter.WriteErrorFile("AddNotification Exception: " + ex.ToString(), true, "FetchNotifications_");
            }
        }
예제 #9
0
        public JsonResult BookSpace(SpaceBooking spaceBooking)
        {
            try
            {
                if (this.ModelState.IsValid)
                {
                    spaceBooking.FromDate = DateTime.ParseExact(spaceBooking.BookingDate + " " + spaceBooking.FromTime, ProjectConfiguration.DateTimeFormat, System.Globalization.CultureInfo.InvariantCulture);
                    spaceBooking.ToDate   = DateTime.ParseExact(spaceBooking.BookingDate + " " + spaceBooking.ToTime, ProjectConfiguration.DateTimeFormat, System.Globalization.CultureInfo.InvariantCulture);

                    if (spaceBooking.FromDate <= DateTime.Now)
                    {
                        return(this.Json(new { resultData = 0, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = Messages.SpaceBookingTimeMessage }, JsonRequestBehavior.DenyGet));
                    }

                    if (spaceBooking.ToDate <= spaceBooking.FromDate)
                    {
                        return(this.Json(new { resultData = 0, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = Messages.TimeCompareMessage.SetArguments(General.ToTime, General.FromTime) }, JsonRequestBehavior.DenyGet));
                    }

                    int    status  = this.masterDataBL.AddSpaceBooking(spaceBooking, SystemEnumList.SpaceBookingStatus.Pending.GetHashCode().ToInteger());
                    string message = string.Empty;
                    if (status > 0)
                    {
                        SmartLibrary.Services.NotificationFactory.AddNotification(SystemEnumList.NotificationType.SpaceBooking, status);
                        SpaceBooking space = this.masterDataBL.SelectObject <SpaceBooking>(status);

                        EmailViewModel emailModel = new EmailViewModel()
                        {
                            Email      = space.CustomerEmail,
                            Name       = space.CustomerName,
                            People     = space.NoOfPeople.ToString(),
                            RoomName   = space.SpaceName,
                            Date       = spaceBooking.BookingDate.ToDate().ToString(ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture),
                            Fromtime   = spaceBooking.FromTime.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                            Totime     = spaceBooking.ToTime.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                            LanguageId = ConvertTo.ToInteger(ProjectSession.UserPortalLanguageId)
                        };
                        UserMail.RoomBookingRequest(emailModel);

                        List <User> lstAdmin = this.masterDataBL.Search <User>(new User()
                        {
                            Active = true
                        }).ToList();

                        foreach (var item in lstAdmin)
                        {
                            EmailViewModel emailModelAdmin = new EmailViewModel()
                            {
                                Email      = item.Email,
                                Name       = space.CustomerName,
                                People     = spaceBooking.NoOfPeople.ToString(),
                                RoomName   = space.SpaceName,
                                Date       = spaceBooking.BookingDate.ToDate().ToString(ProjectConfiguration.DateFormat, System.Globalization.CultureInfo.InvariantCulture),
                                Fromtime   = spaceBooking.FromTime.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                                Totime     = spaceBooking.ToTime.ToDate().ToString("hh:mm tt", System.Globalization.CultureInfo.InvariantCulture),
                                LanguageId = ConvertTo.ToInteger(ProjectSession.UserPortalLanguageId)
                            };
                            UserMail.RoomBookingRequestToAdmin(emailModelAdmin);
                        }

                        if (spaceBooking.ID > 0)
                        {
                            message = Messages.UpdateMessage.SetArguments(General.BookSpace);
                        }
                        else
                        {
                            message = Messages.SaveMessage.SetArguments(General.BookSpace);
                        }

                        return(this.Json(new { resultData = status, status = Infrastructure.SystemEnumList.MessageBoxType.Success.GetDescription(), message = message, title = General.BookSpace }, JsonRequestBehavior.DenyGet));
                    }
                    else if (status == -3)
                    {
                        var spaceCapacity = new MasterDataBL().GetSpaceList(new Space()
                        {
                            ID = spaceBooking.SpaceId.Value
                        })?.FirstOrDefault()?.Capacity ?? 0;
                        message = Messages.NoOfAttendeeExceedCapacity.SetArguments(spaceCapacity, General.NoOfPeople);
                    }
                    else if (status == -4)
                    {
                        message = Messages.BookingAreaUnavailable;
                    }
                    else
                    {
                        message = Messages.DuplicateMessage.SetArguments(General.BookSpace);
                    }

                    return(this.Json(new { resultData = status, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = message }, JsonRequestBehavior.DenyGet));
                }
                else
                {
                    string errorMsg = string.Empty;
                    foreach (ModelState modelState in this.ViewData.ModelState.Values)
                    {
                        foreach (ModelError error in modelState.Errors)
                        {
                            if (!string.IsNullOrEmpty(errorMsg))
                            {
                                errorMsg = errorMsg + " , ";
                            }

                            errorMsg = errorMsg + error.ErrorMessage;
                        }
                    }

                    return(this.Json(new { resultData = string.Empty, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = errorMsg }, JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception ex)
            {
                return(this.Json(new { resultData = string.Empty, status = Infrastructure.SystemEnumList.MessageBoxType.Error.GetDescription(), message = ex.Message == null ? ex.InnerException.Message : ex.Message }, JsonRequestBehavior.DenyGet));
            }
        }