コード例 #1
0
        public ActionResult <SurveyPostViewModel> Get(long surveyID)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                var result             = new BaseCRUDService(currentUserID).GetEntity <SurveyPostViewModel>(surveyID);
                var surveyParticipants = new BaseCRUDService(currentUserID).GetCollection <SurveyParticipantPostViewModel>(x => x.SurveyID == result.ID);

                foreach (var surveyParticipant in surveyParticipants)
                {
                    result.SurveyParticipantsIDs.Add(surveyParticipant.UserID);
                }

                if (result != null)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #2
0
        public ActionResult PostChatMessage(string username, string messageText)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var adjustedMessage = string.Join(" <br /> ", messageText.Split('\n').ToList());
                var message         = new MessageDisplayViewModel()
                {
                    Details = adjustedMessage, CreatedByID = currentUserID, HomeID = currentHomeID, CreatedDate = DateTime.Now
                };

                message = new BaseCRUDService(currentUserID).Save(message);

                return(Ok(message));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #3
0
        public ActionResult <List <ChoreDisplayViewModel> > GetMine(long homeID)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                var result = new BaseCRUDService(currentUserID).GetCollection <ChoreDisplayViewModel>(x => x.HomeID == homeID && x.AssignedToUserID == currentUserID);

                if (result.Any())
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #4
0
        public ActionResult <List <UserPostViewModel> > GetCurrentHomeUsers(long homeID)
        {
            try
            {
                var homeUsers = new BaseCRUDService(0).GetCollection <HomeUserPostViewModel>(x => x.HomeID == homeID);
                var result    = new List <UserPostViewModel>();

                foreach (var homeUser in homeUsers)
                {
                    result.Add(new BaseCRUDService(0).GetEntity <UserPostViewModel>(homeUser.UserID));
                }

                if (result.Any())
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #5
0
        public ActionResult CreateEdit([FromBody] ChorePostViewModel model)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                model.HomeID = currentHomeID;
                var result = new BaseCRUDService(currentUserID).Save(model);

                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #6
0
        public ActionResult Login([FromBody] HomePostViewModel home)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                home = new BaseCRUDService(currentUserID).GetEntity <HomePostViewModel>(x => x.Name == home.Name && x.Password == home.Password);

                if (home != null)
                {
                    return(Ok(home));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #7
0
        public ActionResult Get(long targetObjectID)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var result = new BaseCRUDService(currentUserID).GetCollection <ObjectParticipantPostViewModel>(x => x.TargetObjectID == targetObjectID);

                foreach (var participant in result)
                {
                    participant.Username = new BaseCRUDService(currentUserID).GetEntity <UserPostViewModel>(participant.UserID).Name;
                }

                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #8
0
        public ActionResult GetCount()
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var result = new BaseCRUDService(currentUserID).Count <NotificationParticipantPostViewModel>(x => x.UserID == currentUserID);
                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #9
0
        public ActionResult Post([FromBody] CommentPostViewModel comment)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                comment = new BaseCRUDService(currentUserID).Save(comment);
                new BaseCRUDService(currentUserID).AddUserAsParticipantToObject(comment.TargetObjectID, currentUserID, comment.ObjectTypeID);
                var result = new CommentsRenderer(currentUserID).BuildPostComment(comment);

                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #10
0
        public ActionResult Get(long targetObjectID)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                // TODO: x.CreatedById != 0 should be handled as case when user is deleted
                var comment = new BaseCRUDService(currentUserID).GetCollection <CommentPostViewModel>(x => x.TargetObjectID == targetObjectID && x.CreatedByID != 0);
                var result  = new CommentsRenderer(currentUserID).BuildComments(comment);

                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #11
0
        public ActionResult Register([FromBody] HomePostViewModel home)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                var homeNameAlreadyExists = new BaseCRUDService(0).Any <HomePostViewModel>(x => x.Name == home.Name);

                if (homeNameAlreadyExists)
                {
                    return(StatusCode(StatusCodes.Status403Forbidden, "This home name is already taken."));
                }

                home = new BaseCRUDService(currentUserID).Save(home);
                return(Ok(home));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #12
0
        public ActionResult <ChorePostViewModel> Get(long choreID)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                var result = new BaseCRUDService(currentUserID).GetEntity <ChorePostViewModel>(choreID);

                if (result != null)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #13
0
        public ActionResult PostHomeSettings([FromBody] HomeSettingPostViewModel settings)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var settingsExists = new BaseCRUDService(currentUserID).GetEntity <HomeSettingPostViewModel>(x => x.HomeID == currentHomeID);

                if (settingsExists != null)
                {
                    settings.ID = settingsExists.ID;
                }

                settings.HomeID = currentHomeID;

                var home            = new BaseCRUDService(currentUserID).GetEntity <HomePostViewModel>(currentHomeID);
                var currentHomeName = home.Name;

                if (!string.IsNullOrEmpty(settings.HomeName) && !home.Name.Equals(settings.HomeName))
                {
                    home.Name = settings.HomeName;
                    new BaseCRUDService(currentUserID).Save(home);
                }

                settings = new BaseCRUDService(currentUserID).Save(settings);

                if (!string.IsNullOrEmpty(settings.HomeName) && !currentHomeName.Equals(settings.HomeName))
                {
                    settings.ChangeHttpSession = true;
                }

                if (settings != null)
                {
                    return(Ok(settings));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #14
0
        public ActionResult Post([FromBody] EventPostViewModel @event)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var participants = @event.ParticipantUserIDs;

                @event = new BaseCRUDService(currentUserID).Save(@event);
                new BaseCRUDService(currentUserID).AddUserAsParticipantToObject(@event.TargetObjectID, currentUserID, @event.ObjectTypeID);

                foreach (var userID in participants)
                {
                    var eventParticipant = new EventParticipantPostViewModel()
                    {
                        EventID = @event.ID, UserID = long.Parse(userID)
                    };
                    new BaseCRUDService(currentUserID).Save(eventParticipant);
                }

                var participantUsernames = new List <string>();
                var eventParticipants    = new BaseCRUDService(currentUserID).GetCollection <EventParticipantPostViewModel>(x => x.EventID == @event.ID);

                foreach (var participant in eventParticipants)
                {
                    var participantUsername = new BaseCRUDService(currentUserID).GetEntity <UserPostViewModel>(x => x.ID == participant.UserID).Name;
                    participantUsernames.Add(participantUsername);
                }

                @event.EventParticipantNames = string.Join(", ", participantUsernames);

                return(Ok(@event));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #15
0
        public ActionResult GetObjects(long excludedObjectID)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var result = new BaseCRUDService(currentUserID).GetCollection(x => x.HomeID == currentHomeID);

                foreach (var item in result)
                {
                    if (item.ObjectID == excludedObjectID)
                    {
                        result.Remove(item);
                        break;
                    }
                }

                if (result.Any())
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #16
0
        public ActionResult Register([FromBody] UserPostViewModel user)
        {
            try
            {
                var userAlreadyExists = new BaseCRUDService(0).Any <UserPostViewModel>(x => x.Name == user.Name);

                if (userAlreadyExists)
                {
                    return(StatusCode(StatusCodes.Status403Forbidden, "This username is already taken."));
                }

                user = new BaseCRUDService(0).Save(user);
                return(Ok(user));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #17
0
        public ActionResult GetEvents()
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var events = new BaseCRUDService(currentUserID).GetCollection <EventPostViewModel>(x => x.HomeID == currentHomeID);

                var result = new List <EventViewModel>();

                foreach (var @event in events)
                {
                    result.Add(new EventViewModel()
                    {
                        ID     = @event.ID,
                        Title  = @event.Name,
                        Start  = @event.StartDate.ToString(),
                        End    = @event.EndDate.ToString(),
                        AllDay = true
                    });
                }

                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #18
0
        public ActionResult CreateEdit([FromBody] SurveyPostViewModel model)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                model.HomeID = currentHomeID;
                var surveyParticipantsIDs = model.SurveyParticipantsIDs;
                var result = new BaseCRUDService(currentUserID).Save(model);

                foreach (var surveyParticipantID in surveyParticipantsIDs)
                {
                    if (!new BaseCRUDService(currentUserID).Any <SurveyParticipantPostViewModel>(x => x.SurveyID == result.ID && x.UserID == surveyParticipantID))
                    {
                        var surveyParticipant = new SurveyParticipantPostViewModel()
                        {
                            SurveyID = result.ID, UserID = surveyParticipantID
                        };
                        new BaseCRUDService(currentUserID).Save(surveyParticipant);
                    }
                }

                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #19
0
        public ActionResult <List <HomeDisplayViewModel> > GetNeighbors(long homeID, long neighborID)
        {
            try
            {
                var result = new BaseCRUDService(0).GetEntity <HomeDisplayViewModel>(neighborID);

                if (result != null)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #20
0
        public ActionResult Login([FromBody] UserPostViewModel user)
        {
            try
            {
                user = new BaseCRUDService(0).GetEntity <UserPostViewModel>(x => x.Name == user.Name && x.Password == user.Password);

                if (user != null)
                {
                    return(Ok(user));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #21
0
        public ActionResult <UserPostViewModel> Get(long userID)
        {
            try
            {
                var result = new BaseCRUDService(0).GetEntity <UserPostViewModel>(userID);

                if (result != null)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #22
0
        public ActionResult <List <InventoryDisplayViewModel> > GetUnsuppliedCount(long homeID)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                var result = new BaseCRUDService(currentUserID).Count <InventoryDisplayViewModel>(x => x.HomeID == homeID && x.IsSupplied == false);
                return(Ok(result));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #23
0
        public ActionResult SetUserToCurrentHome()
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var homeUser = new HomeUserPostViewModel()
                {
                    HomeID = currentHomeID,
                    UserID = currentUserID
                };

                var userIsAlreadyApartOfCurrentHome = new BaseCRUDService(currentUserID).Any <HomeUserPostViewModel>(x => x.UserID == homeUser.UserID && x.HomeID == homeUser.HomeID);

                if (!userIsAlreadyApartOfCurrentHome)
                {
                    new BaseCRUDService(currentUserID).Save(homeUser);
                }

                return(Ok());
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #24
0
        public ActionResult Delete(long inventoryID)
        {
            try
            {
                var currentUserID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                var model = new BaseCRUDService(currentUserID).GetEntity <InventoryPostViewModel>(inventoryID);
                new BaseCRUDService(currentUserID).Delete(model);

                return(Ok());
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #25
0
        public ActionResult GetHomePage()
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var messages       = new BaseCRUDService(currentUserID).GetCollection <MessageDisplayViewModel>(x => x.HomeID == currentHomeID && x.CreatedByID != 0);
                var messagesResult = new ChatRenderer(currentUserID).BuildMessagesForChat(messages);

                var result = new HomePageDisplayModel()
                {
                    Messages = messagesResult
                };

                if (new BaseCRUDService(currentUserID).Any <HomeSettingPostViewModel>(x => x.HomeID == currentHomeID))
                {
                    var nextMonth      = DateTime.Now.AddMonths(1).Month.ToString();
                    var thisMonth      = DateTime.Now.Month.ToString();
                    var rentDueDate    = string.Empty;
                    var rentDueDateDay = new BaseCRUDService(currentUserID).GetEntity <HomeSettingPostViewModel>(x => x.HomeID == currentHomeID).RentDueDateDay;

                    if (rentDueDateDay.ToString() != "0")
                    {
                        var dateString = $"{rentDueDateDay}/{nextMonth}/{DateTime.Now.Year.ToString()}";

                        if (DateTime.Parse(dateString).AddMonths(-1).Date > DateTime.Now.Date)
                        {
                            dateString = $"{rentDueDateDay}/{thisMonth}/{DateTime.Now.Year.ToString()}";
                        }

                        rentDueDate = DateTime.Parse(dateString).ToLongDateString();
                    }

                    result.RentDueDate = rentDueDate;
                }

                if (result != null)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #26
0
        public ActionResult PostHomeStatus(string homeStatusString, string homeStatusDetailsString)
        {
            try
            {
                var currentUserID = 0l;
                var currentHomeID = 0l;
                var re            = Request;
                var headers       = re.Headers;

                if (headers.ContainsKey("CurrentUserID"))
                {
                    currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault());
                }

                if (headers.ContainsKey("CurrentHomeID"))
                {
                    currentHomeID = long.Parse(headers.GetCommaSeparatedValues("CurrentHomeID").FirstOrDefault());
                }

                var homeStatusDetails = string.Empty;

                if (!string.IsNullOrEmpty(homeStatusDetailsString))
                {
                    homeStatusDetails = homeStatusDetailsString;
                }

                if (new BaseCRUDService(currentUserID).Any <HomeStatusPostViewModel>(x => x.HomeID == currentHomeID))
                {
                    var status = new BaseCRUDService(currentUserID).GetEntity <HomeStatusPostViewModel>(x => x.HomeID == currentHomeID);

                    status.Status  = int.Parse(homeStatusString);
                    status.Details = homeStatusDetails;
                    status.UserID  = currentUserID;

                    new BaseCRUDService(currentUserID).Save(status);

                    if (status != null)
                    {
                        return(Ok(status));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                else
                {
                    var status = new HomeStatusPostViewModel()
                    {
                        Status  = int.Parse(homeStatusString),
                        Details = homeStatusDetails,
                        UserID  = currentUserID,
                        HomeID  = currentHomeID
                    };

                    new BaseCRUDService(currentUserID).Save(status);

                    if (status != null)
                    {
                        return(Ok(status));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}"));
            }
        }
コード例 #27
0
 public ChatRenderer(long?currentUserID)
 {
     BaseService = new BaseCRUDService(currentUserID);
 }