Beispiel #1
0
        //----------------------------------------------------------------------------------------------------------
        public Result VoteToComment(VoteToCommentDto voteDetail)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var comment_point = _db.COMMENT_POINTS.FirstOrDefault(x => x.COMMENT_ID == voteDetail.COMMENT_ID && x.USERNAME == voteDetail.USERNAME_voter);
                if (comment_point == null)
                {
                    var comment = _db.IDEA_COMMENTS.FirstOrDefault(x => x.ID == voteDetail.COMMENT_ID);
                    if (comment == null)
                    {
                        result.value   = false;
                        result.content = "پیشنهادی  با این مشخصات وجود ندارد";
                        return(result);
                    }
                    var user = _db.USERS.FirstOrDefault(x => x.USERNAME == voteDetail.USERNAME_voter);
                    if (user == null)
                    {
                        result.value   = false;
                        result.content = "کاربر پیدا نشد";
                        return(result);
                    }
                    ;
                    if (comment.USERNAME == voteDetail.USERNAME_voter)
                    {
                        result.value   = false;
                        result.content = "به پیشنهاد خود نمی توان رای داد";
                        return(result);
                    }

                    COMMENT_POINTS comment_point2 = new COMMENT_POINTS()
                    {
                        COMMENT_ID = voteDetail.COMMENT_ID,
                        SAVE_DATE  = DateTime.Now,
                        POINT      = voteDetail.POINT,
                        USERNAME   = voteDetail.USERNAME_voter
                    };

                    _db.COMMENT_POINTS.Add(comment_point2);
                    _db.SaveChanges();
                    result.value   = true;
                    result.content = "به پیشنهاد امتیاز داده شد";
                    return(result);
                }

                comment_point.POINT       = voteDetail.POINT;
                comment_point.MODIFY_DATE = DateTime.Now;
                _db.SaveChanges();
                result.value   = true;
                result.content = "امتیاز پیشنهاداصلاح شد";
                return(result);
            }
        }
        //----------------------------------------------------------------------------------------------------------
        public Result VoteToIdea(IdeaPointDto voteDetail)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var idea_point = _db.IDEA_POINTS.FirstOrDefault(x => x.IDEA_ID == voteDetail.IdeaId && x.USERNAME == voteDetail.Username);
                if (idea_point == null)
                {
                    var idea = _db.IDEAS.FirstOrDefault(x => x.ID == voteDetail.IdeaId);
                    if (idea == null)
                    {
                        result.Value   = false;
                        result.Content = "ایده پیدا نشد";
                        return(result);
                    }
                    var user = _db.USERS.FirstOrDefault(x => x.USERNAME == voteDetail.Username);
                    if (user == null)
                    {
                        result.Value   = false;
                        result.Content = "کاربر پیدا نشد";
                        return(result);
                    }
                    ;
                    if (idea.USERNAME == voteDetail.Username)
                    {
                        result.Value   = false;
                        result.Content = "به ایده ی خود نمی شود رای داد";
                        return(result);
                    }

                    IDEA_POINTS idea_point_ = new IDEA_POINTS()
                    {
                        IDEA_ID   = voteDetail.IdeaId,
                        USERNAME  = voteDetail.Username,
                        SAVE_DATE = DateTime.Now,
                        POINT     = voteDetail.Point
                    };

                    _db.IDEA_POINTS.Add(idea_point_);
                    _db.SaveChanges();
                    result.Value   = true;
                    result.Content = "به ایده امتیاز داده شد";
                    return(result);
                }

                idea_point.POINT       = voteDetail.Point;
                idea_point.MODIFY_DATE = DateTime.Now;
                _db.SaveChanges();
                result.Value   = true;
                result.Content = "امتیاز ایده اصلاح شد";
                return(result);
            }
        }
        //-------------------------------------------------------------------------------------------------

        public Result UnVoteIdea(int ideaId, string username)
        {
            Result res = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                if (!_db.IDEAS.Any(x => x.ID == ideaId))
                {
                    res.content = "ایده ی مورد نظر پیدا نشد";
                    res.value   = false;
                    return(res);
                }

                if (!_db.COMMITTEE_VOTE_DETAIL.Any(x => x.IDEAS_ID == ideaId))
                {
                    res.content = "رای مورد نظر پیدا نشد";
                    res.value   = false;
                    return(res);
                }
                else
                {
                    _db.IDEAS.First(x => x.ID == ideaId).STATUS_ID = 0;
                    _db.COMMITTEE_VOTE_DETAIL.Remove(_db.COMMITTEE_VOTE_DETAIL.First(x => x.IDEAS_ID == ideaId));
                    _db.SaveChanges();
                }
            }
            return(res);
        }
Beispiel #4
0
        //----------------------------------------------------------------------------------------------------
        public Result ChangeCommitteFlag(string username, int value)
        {
            Result res = new Result();
            USER   user;

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                user = _db.USERS.FirstOrDefault(u => u.USERNAME == username);
                if (user != null)
                {
                    res.value = true;
                    if (value == 0)
                    {
                        res.content         = "کاربر از عضویت کمیته ارزیابی خارج شد";
                        user.COMMITTEE_FLAG = false;
                    }
                    else//1
                    {
                        res.content         = "کاربر عضو کمیته ارزیابی شد";
                        user.COMMITTEE_FLAG = true;
                    }
                    _db.SaveChanges();
                }
                else
                {
                    res.value   = false;
                    res.content = "کاربر یافت شد";
                }
                return(res);
            }
        }
Beispiel #5
0
        //-------------------------------------------------------------------------------------------------

        public Result PutUserProfile(ProfileForUpdateDto newProfile)
        {
            Result res = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var user = _db.USERS.FirstOrDefault(u => u.USERNAME == newProfile.USERNAME);//username is old username and youcan't change it
                if (user == null)
                {
                    res.value   = false;
                    res.content = "کاربر یافت نشد";
                }
                else
                {
                    user.LAST_NAME   = newProfile.LAST_NAME;
                    user.FIRST_NAME  = newProfile.FIRST_NAME;
                    user.EMAIL       = newProfile.EMAIL;
                    user.PASSWORD    = newProfile.PASSWORD;
                    user.MODIFY_DATE = DateTime.Now;
                    _db.SaveChanges();
                    res.value   = true;
                    res.content = "تغییرات اعمال شد";
                }
            }
            return(res);
        }
        //----------------------------------------------------------------------------------------------------------

        public Result EditIdea(int ideaId, ChangedIdeaDto ideaForChange)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var idea = _db.IDEAS.FirstOrDefault(x => x.ID == ideaId);
                if (idea == null)
                {
                    result.Value   = false;
                    result.Content = "ایده پیدا نشد";
                    return(result);
                }

                idea.USERNAME          = ideaForChange.Username;
                idea.TITLE             = ideaForChange.Title;
                idea.PREREQUISITE      = ideaForChange.Prerequisite;
                idea.STEPS             = ideaForChange.Steps;
                idea.CURRENT_SITUATION = ideaForChange.CurrentSituation;
                idea.ADVANTAGES        = ideaForChange.Advantages;
                idea.MODIFY_DATE       = DateTime.Now;
                _db.SaveChanges();
                result.Value   = true;
                result.Content = "ایده اصلاح شد";
                return(result);
            }
        }
Beispiel #7
0
        //-----------------------------------------------------------------------------------------------------------
        public Result UpdateComment(CommentDto newcomment)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var idea_ = _db.IDEAS.FirstOrDefault(x => x.ID == newcomment.IDEA_ID);
                if (idea_ == null)
                {
                    result.value   = false;
                    result.content = "ایده پیدا نشد";
                    return(result);
                }

                var idea_comment = _db.IDEA_COMMENTS.FirstOrDefault(x => x.IDEA_ID == newcomment.IDEA_ID && x.USERNAME == newcomment.USERNAME);
                if (idea_comment == null)
                {
                    result.value   = false;
                    result.content = "قبلا شما پیشنهادی برای این ایده ننوشته اید";
                    return(result);
                }

                idea_comment.COMMENT     = newcomment.COMMENT;
                idea_comment.MODIFY_DATE = DateTime.Now;
                _db.SaveChanges();
                result.value   = true;
                result.content = "پیشنهاد اصلاح شد";
                return(result);
            }
        }
Beispiel #8
0
        //-------------------------------------------------------------------------------------------------

        public Result Registration(UserForRegistrationDto user)
        {
            Result res        = new Result();
            var    userFromDb = new UserQ().GetUser(user.Username.Trim());

            if (userFromDb != null)
            {
                res.Value   = false;
                res.Content = "نام کاربری موجود است";
            }
            else
            {
                using (_db = new IdeaManagmentDatabaseEntities())
                {
                    var newUser = new USER()
                    {
                        EMAIL      = user.Email.Trim(),
                        FIRST_NAME = user.FirstName.Trim(),
                        LAST_NAME  = user.LastName.Trim(),
                        USERNAME   = user.Username.Trim(),
                        PASSWORD   = user.password.Trim(),
                        SAVE_DATE  = DateTime.Now
                    };
                    _db.USERS.Add(newUser);
                    _db.SaveChanges();
                    res.Value   = true;
                    res.Content = "کاربر ایجاد شد";
                }
            }

            return(res);
        }
Beispiel #9
0
        public Result DeleteComment(int commentId)
        {
            Result res = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var comment = _db.IDEA_COMMENTS.FirstOrDefault(x => x.ID == commentId);
                if (comment != null)
                {
                    if (comment.IDEA.STATUS_ID > 0)
                    {
                        res.Value   = false;
                        res.Content = "برای ایده بررسی‌شده امکان حذف پیشنهاد وجود ندارد";
                        return(res);
                    }
                    var allpoints = _db.COMMENT_POINTS.Where(x => x.COMMENT_ID == commentId);

                    if (allpoints != null && allpoints.Count() > 0)
                    {
                        _db.COMMENT_POINTS.RemoveRange(allpoints);
                    }
                    _db.IDEA_COMMENTS.Remove(comment);
                    _db.SaveChanges();
                    res.Value   = true;
                    res.Content = "پیشنهاد مورد نظر حذف شد";
                }
                else
                {
                    res.Value   = false;
                    res.Content = "پیشنهاد مورد نظر یافت نشد";
                }
            }
            return(res);
        }
        //-------------------------------------------------------------------------------------------------

        public Result VoteToIdea(int ideaId, VoteDetailDto voteDetailDto)
        {
            Result res = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                if (!_db.IDEAS.Any(x => x.ID == ideaId))
                {
                    res.content = "ایده ی مورد نظر پیدا نشد";
                    res.value   = false;
                    return(res);
                }

                if (!_db.COMMITTEE_VOTE_DETAIL.Any(x => x.IDEAS_ID == ideaId))
                {
                    var newVote = new COMMITTEE_VOTE_DETAIL()
                    {
                        COMMITTEE_MEMBER       = voteDetailDto.COMMITTEE_MEMBER_USER_NAME,
                        IDEAS_ID               = ideaId,
                        PROFIT_AMOUNT          = voteDetailDto.PROFIT_AMOUNT,
                        SAVING_RESOURCE_AMOUNT = voteDetailDto.SAVING_RESOURCE_AMOUNT,
                        SAVE_DATE              = DateTime.Now
                    };
                    _db.COMMITTEE_VOTE_DETAIL.Add(newVote);
                    _db.IDEAS.First(x => x.ID == ideaId).STATUS_ID = Convert.ToByte(voteDetailDto.Vote);
                    _db.SaveChanges();
                    res.value   = true;
                    res.content = "رای کمیته اعمال شد";
                }
                else
                {//update it is impossible do to bussines
                    var vote = _db.COMMITTEE_VOTE_DETAIL.First(x => x.IDEAS_ID == ideaId);
                    vote.PROFIT_AMOUNT          = voteDetailDto.PROFIT_AMOUNT;
                    vote.SAVING_RESOURCE_AMOUNT = voteDetailDto.SAVING_RESOURCE_AMOUNT;
                    vote.SAVE_DATE        = DateTime.Now;
                    vote.COMMITTEE_MEMBER = voteDetailDto.COMMITTEE_MEMBER_USER_NAME;
                    _db.IDEAS.First(x => x.ID == ideaId).STATUS_ID = Convert.ToByte(voteDetailDto.Vote);
                    _db.SaveChanges();
                    res.value   = true;
                    res.content = "رای کمیته اعمال شد";
                }
            }
            return(res);
        }
        //-------------------------------------------------------------------------------------------------

        public Result DeleteIdea(int ideaId)
        {
            Result res = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var idea = _db.IDEAS.FirstOrDefault(x => x.ID == ideaId);
                if (idea != null)
                {
                    if (idea.STATUS_ID > 0)
                    {
                        res.Value   = false;
                        res.Content = "برای ایده بررسی شده امکان حذف وجود ندارد";
                        return(res);
                    }
                    var allpoints   = _db.IDEA_POINTS.Where(x => x.IDEA_ID == ideaId);
                    var allcomments = _db.IDEA_COMMENTS.Where(x => x.IDEA_ID == ideaId);
                    if (allcomments != null && allcomments.Count() > 0)
                    {
                        var allcommentsIdes = allcomments.Select(x => x.ID);
                        var allComentPoints = _db.COMMENT_POINTS.Where(x => allcommentsIdes.Contains(x.COMMENT_ID));
                        if (allComentPoints != null && allComentPoints.Count() > 0)
                        {
                            _db.COMMENT_POINTS.RemoveRange(allComentPoints);
                        }
                        _db.IDEA_COMMENTS.RemoveRange(allcomments);
                    }
                    if (allpoints != null && allpoints.Count() > 0)
                    {
                        _db.IDEA_POINTS.RemoveRange(allpoints);
                    }
                    _db.IDEAS.Remove(idea);
                    _db.SaveChanges();
                    res.Value   = true;
                    res.Content = "ایده‌ی مورد نظر حذف شد";
                }
                else
                {
                    res.Value   = false;
                    res.Content = "ایده‌ی مورد نظر یافت نشد";
                }
            }
            return(res);
        }
Beispiel #12
0
        //-----------------------------------------------------------------------------------------------------------
        public Result AddCommentToIdea(CommentDto newcomment)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                var idea = _db.IDEAS.FirstOrDefault(x => x.ID == newcomment.IDEA_ID);
                if (idea == null)
                {
                    result.value   = false;
                    result.content = "ایده پیدا نشد";
                    return(result);
                }

                var ideaCommentForCheck = _db.IDEA_COMMENTS.FirstOrDefault(x => x.IDEA_ID == newcomment.IDEA_ID && x.USERNAME == newcomment.USERNAME);
                if (ideaCommentForCheck != null)
                {
                    result.value   = false;
                    result.content = "قبلا شما پیشنهادی برای این ایده نوشته اید";
                    return(result);
                }

                if (idea.USERNAME == newcomment.USERNAME)
                {
                    result.value   = false;
                    result.content = "برای ایده خود نمی شود پیشنهاد گذاشت";
                    return(result);
                }


                IDEA_COMMENTS ideaComment = new IDEA_COMMENTS()
                {
                    COMMENT   = newcomment.COMMENT,
                    IDEA_ID   = newcomment.IDEA_ID,
                    SAVE_DATE = DateTime.Now,
                    USERNAME  = newcomment.USERNAME
                };
                _db.IDEA_COMMENTS.Add(ideaComment);
                _db.SaveChanges();
                result.value   = true;
                result.content = "پیشنهاد جدید اضافه شد";
                return(result);
            }
        }
        //-----------------------------------------------------------------------------------------------------------
        public Result SendNewIdea(NewIdeaDto newIdea)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                IDEA idea = new IDEA()
                {
                    USERNAME          = newIdea.Username,
                    TITLE             = newIdea.Title,
                    SAVE_DATE         = DateTime.Now,
                    ADVANTAGES        = newIdea.Advantages,
                    PREREQUISITE      = newIdea.Prerequisite,
                    STEPS             = newIdea.Steps,
                    CURRENT_SITUATION = newIdea.CurrentSituation
                };
                _db.IDEAS.Add(idea);
                _db.SaveChanges();
                result.Value   = true;
                result.Content = "ایده جدید ایجاد شد";
            }
            return(result);
        }
Beispiel #14
0
        //-----------------------------------------------------------------------------------------------------------
        public Result SendNewIdea(NewIdeaDto newIdea)
        {
            Result result = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                IDEA idea = new IDEA()
                {
                    USERNAME          = newIdea.USERNAME,
                    TITLE             = newIdea.TITLE,
                    SAVE_DATE         = DateTime.Now,
                    ADVANTAGES        = newIdea.ADVANTAGES,
                    PREREQUISITE      = newIdea.PREREQUISITE,
                    STEPS             = newIdea.STEPS,
                    CURRENT_SITUATION = newIdea.CURRENT_SITUATION
                };
                _db.IDEAS.Add(idea);
                _db.SaveChanges();
                result.value   = true;
                result.content = "ایده جدید ایجاد شد";
                return(result);
            }
        }