Beispiel #1
0
        public JsonResult AddDiscussion(DiscussionContentLO toAdd, long submissionid)
        {
            #region Logics
            DiscussionLogic _DiscussionLogic = new DiscussionLogic();
            #endregion

            DynamicResponse <DiscussionLO> response = new DynamicResponse <DiscussionLO>();
            long userId = long.Parse(Session["userId"].ToString());

            try
            {
                response = _DiscussionLogic.AddDiscussionContent(toAdd, submissionid, userId);
                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json("error"));
            }
        }
Beispiel #2
0
        public DynamicResponse <DiscussionLO> AddDiscussionContent(DiscussionContentLO toAdd, long submissionid, long userid)
        {
            #region Accessor
            DiscussionAccessor            _DiscussionAccessor            = new DiscussionAccessor();
            DiscussionFileAccessor        _DiscussionFileAccessor        = new DiscussionFileAccessor();
            DiscussionParticipantAccessor _DiscussionParticipantAccessor = new DiscussionParticipantAccessor();
            #endregion

            DiscussionLogic              _DiscussionLogic           = new DiscussionLogic();
            Discussion                   _Discussion                = new Discussion();
            DiscussionLO                 _DiscussionLO              = new DiscussionLO();
            DiscussionsFile              _DiscussionFile            = new DiscussionsFile();
            List <DiscussionsFile>       _DiscussionFileList        = new List <DiscussionsFile>();
            DiscussionParticipant        _DiscussionParticipant     = new DiscussionParticipant();
            List <DiscussionParticipant> _DiscussionParticipantList = new List <DiscussionParticipant>();

            DynamicResponse <DiscussionLO> response = new DynamicResponse <DiscussionLO>();

            try
            {
                _Discussion.Subject      = toAdd.Subject;
                _Discussion.Message      = toAdd.Body;
                _Discussion.SubmissionId = submissionid;
                if (toAdd.ChannelId == 0)
                {
                    _Discussion.ChannelId = null;
                }
                else
                {
                    _Discussion.ChannelId = toAdd.ChannelId;
                }
                _Discussion.SenderId       = userid;
                _Discussion.isProofReading = toAdd.isProofReadingReview;
                _Discussion.isPrereview    = toAdd.isPreReview;
                _Discussion.isReview       = toAdd.isReview;
                _Discussion.isCopyEditing  = toAdd.isCopyEditingReview;
                _Discussion.isClosed       = toAdd.isClosed;
                _Discussion.SysDate        = DateTime.Now;

                if (toAdd.Id == null)
                {
                    _Discussion = _DiscussionAccessor.Add(_Discussion);

                    if (_Discussion == null)
                    {
                        response.HttpStatusCode = HttpStatusCode.InternalServerError;
                        response.Message        = "Check the Discussion.";
                        response.ServerMessage  = "Discussion can't be added";
                        return(response);
                    }
                    if (toAdd.Files != null)
                    {
                        for (int i = 0; i < toAdd.Files.Count(); i++)
                        {
                            _DiscussionFile = new DiscussionsFile();
                            _DiscussionFile.DiscussionId = _Discussion.Id;
                            _DiscussionFile.FileName     = toAdd.Files[i].Name;
                            _DiscussionFile.ComponentId  = long.Parse(toAdd.Files[i].Type);
                            _DiscussionFile.isDeleted    = false;
                            _DiscussionFile.SysDate      = DateTime.Now;
                            _DiscussionFileList.Add(_DiscussionFile);
                        }

                        _DiscussionFileList = _DiscussionFileAccessor.Add(_DiscussionFileList);

                        if (_DiscussionFileList == null || _DiscussionFileList.Count == 0)
                        {
                            response.HttpStatusCode = HttpStatusCode.InternalServerError;
                            response.Message        = "Check the Discussion files.";
                            response.ServerMessage  = "Discussion files can't added";
                            return(response);
                        }
                    }
                    if (toAdd.Participantids != null)
                    {
                        for (int i = 0; i < toAdd.Participantids.Count(); i++)
                        {
                            _DiscussionParticipant = new DiscussionParticipant();
                            _DiscussionParticipant.DiscussionId = _Discussion.Id;
                            _DiscussionParticipant.UserId       = toAdd.Participantids[i];
                            _DiscussionParticipantList.Add(_DiscussionParticipant);
                        }
                        _DiscussionParticipantAccessor.Add(_DiscussionParticipantList);
                    }
                }

                response = _DiscussionLogic.GetBasicInfo(_Discussion);
                response.HttpStatusCode = HttpStatusCode.OK;
                response.Data           = _DiscussionLO;
                return(response);
            }
            catch (Exception ex)
            {
                response.HttpStatusCode = HttpStatusCode.BadRequest;
                response.Message        = "Please try again later!";
                response.ServerMessage  = ex.Message;
                return(response);
            }
        }