Exemplo n.º 1
0
        public bool SaveManuscriptLogin(ManuscriptLoginDTO manuscriptLoginDTO, IDictionary <string, string> dataErrors)
        {
            var manuscriptStatus   = _manuscriptDBRepositoryReadSide.GetManuscriptStatus();
            var manuscriptStatusId = (from q in manuscriptStatus
                                      where q.Description.ToLower() == "open"
                                      select q.ID).FirstOrDefault();

            manuscriptLoginDTO.manuscriptLogin.ManuscriptStatusId = Convert.ToInt32(manuscriptStatusId);
            if (manuscriptLoginDTO.IsRevision == true)
            {
                manuscriptLoginDTO.manuscriptLogin.Revision         = Convert.ToInt32(_manuscriptLoginDBRepositoryReadSide.GetRevisionCount(manuscriptLoginDTO.manuscriptLogin.MSID));
                manuscriptLoginDTO.manuscriptLogin.RevisionParentId = _manuscriptLoginDBRepositoryReadSide.GetParentCrestId(manuscriptLoginDTO.manuscriptLogin.MSID);
                manuscriptLoginDTO.manuscriptLogin.MSID             = manuscriptLoginDTO.manuscriptLogin.MSID + "_R" + Convert.ToString(_manuscriptLoginDBRepositoryReadSide.GetRevisionCount(manuscriptLoginDTO.manuscriptLogin.MSID));
            }

            ManuscriptLoginUnitOfWork manuscriptLoginUnitOfWork = null;

            try
            {
                manuscriptLoginUnitOfWork = new ManuscriptLoginUnitOfWork(conString);
                manuscriptLoginUnitOfWork.manuscriptLoginDTO = manuscriptLoginDTO;
                manuscriptLoginUnitOfWork.SaveManuscriptLogin();
                SaveManuscriptDetails(manuscriptLoginDTO, manuscriptStatusId, manuscriptLoginUnitOfWork);

                return(true);
            }
            catch (Exception ex)
            {
            }
            //exception will be raised up in the call stack
            finally
            {
                if (manuscriptLoginUnitOfWork != null)
                {
                    manuscriptLoginUnitOfWork.Dispose();
                }
            }
            return(true);
        }
Exemplo n.º 2
0
        private void SaveManuscriptDetails(ManuscriptLoginDTO manuscriptLoginDTO, int manuscriptStatusID, ManuscriptLoginUnitOfWork _manuscriptLoginUnitOfWork)
        {
            int crestID = _manuscriptLoginDBRepositoryReadSide.GetCrestID(manuscriptLoginDTO.manuscriptLogin.MSID);

            manuscriptLoginDTO.IsCrestIDPresent = _manuscriptLoginDBRepositoryReadSide.IsCrestIDPresent(crestID);
            bool IsBoth = _manuscriptLoginDBRepositoryReadSide.IsServiceTypeBoth(manuscriptLoginDTO.manuscriptLogin.ServiceTypeStatusId);

            if (IsBoth)
            {
                var msLoginDetails = new ManuscriptLoginDetails
                {
                    AssignedDate        = DateTime.Now,
                    ServiceTypeStatusId = _manuscriptLoginDBRepositoryReadSide.MSServiceTypeID(),
                    JobStatusId         = Convert.ToInt32(manuscriptStatusID),
                    CrestId             = crestID,
                    RoleId             = _manuscriptLoginDBRepositoryReadSide.GetAssociateRole(),
                    JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "open").Select(x => x.ID).FirstOrDefault()
                };
                if (!string.IsNullOrEmpty(manuscriptLoginDTO.AssociateName))
                {
                    var prGetAssociateInfoResult =
                        _manuscriptDBRepositoryReadSide.GetAssociateName(manuscriptLoginDTO.AssociateName)
                        .FirstOrDefault();
                    msLoginDetails.UserRoleId         = prGetAssociateInfoResult.ID;
                    msLoginDetails.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "assigned").Select(x => x.ID).FirstOrDefault();
                }
                manuscriptLoginDTO.manuscriptLoginDetails.Add(msLoginDetails);
                if (manuscriptLoginDTO.IsCrestIDPresent)
                {
                    var rsLoginDetails = new ManuscriptLoginDetails
                    {
                        AssignedDate        = DateTime.Now,
                        CrestId             = crestID,
                        JobStatusId         = Convert.ToInt32(manuscriptStatusID),
                        RoleId              = _manuscriptLoginDBRepositoryReadSide.GetAssociateRole(),
                        ServiceTypeStatusId = _manuscriptLoginDBRepositoryReadSide.RSServiceTypeID(),
                        JobProcessStatusId  = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "open").Select(x => x.ID).FirstOrDefault()
                    };
                    manuscriptLoginDTO.manuscriptLoginDetails.Add(rsLoginDetails);

                    //update record
                    var updateManuscriptLoginDetails = new ManuscriptLoginDetails();
                    updateManuscriptLoginDetails = _manuscriptLoginDBRepositoryReadSide.GetManuscriptLoginDetails(crestID, _manuscriptLoginDBRepositoryReadSide.GetServiceTypeStatusId(crestID));
                    updateManuscriptLoginDetails.SubmitedDate = DateTime.Now;
                    updateManuscriptLoginDetails.FetchedDate  = DateTime.Now;
                    //update using query
                    updateManuscriptLoginDetails.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "unallocate").Select(x => x.ID).FirstOrDefault();
                    //update using query
                    updateManuscriptLoginDetails.JobStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "close").Select(x => x.ID).FirstOrDefault();
                    manuscriptLoginDTO.manuscriptLoginDetails.Add(updateManuscriptLoginDetails);

                    if (_manuscriptLoginDetailsRepository.GetOpenManuscriptCount(crestID) == 2)
                    {
                        var updateManuscriptLoginDetailsRS = _manuscriptLoginDBRepositoryReadSide.GetManuscriptLoginDetails(crestID, _manuscriptLoginDBRepositoryReadSide.RSServiceTypeID());
                        updateManuscriptLoginDetailsRS.SubmitedDate = DateTime.Now;
                        updateManuscriptLoginDetailsRS.FetchedDate  = DateTime.Now;
                        //update using query
                        updateManuscriptLoginDetailsRS.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "unallocate").Select(x => x.ID).FirstOrDefault();
                        //update using query
                        updateManuscriptLoginDetailsRS.JobStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "close").Select(x => x.ID).FirstOrDefault();
                        manuscriptLoginDTO.manuscriptLoginDetails.Add(updateManuscriptLoginDetailsRS);
                    }
                }

                if (!manuscriptLoginDTO.IsCrestIDPresent)
                {
                    var rsLoginDetails = new ManuscriptLoginDetails
                    {
                        AssignedDate        = DateTime.Now,
                        CrestId             = crestID,
                        JobStatusId         = Convert.ToInt32(manuscriptStatusID),
                        RoleId              = _manuscriptLoginDBRepositoryReadSide.GetAssociateRole(),
                        ServiceTypeStatusId = _manuscriptLoginDBRepositoryReadSide.RSServiceTypeID(),
                        JobProcessStatusId  = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "open").Select(x => x.ID).FirstOrDefault()
                    };
                    manuscriptLoginDTO.manuscriptLoginDetails.Add(rsLoginDetails);
                }
            }
            else if (_manuscriptLoginDetailsRepository.GetOpenManuscriptCount(crestID) == 2)
            {
                var msLoginDetails = new ManuscriptLoginDetails
                {
                    AssignedDate        = DateTime.Now,
                    ServiceTypeStatusId = manuscriptLoginDTO.manuscriptLogin.ServiceTypeStatusId,
                    JobStatusId         = Convert.ToInt32(manuscriptStatusID),
                    CrestId             = crestID,
                    RoleId             = _manuscriptLoginDBRepositoryReadSide.GetAssociateRole(),
                    JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "open").Select(x => x.ID).FirstOrDefault()
                };
                if (!string.IsNullOrEmpty(manuscriptLoginDTO.AssociateName))
                {
                    var prGetAssociateInfoResult = _manuscriptDBRepositoryReadSide.GetAssociateName(manuscriptLoginDTO.AssociateName).FirstOrDefault();
                    msLoginDetails.UserRoleId         = prGetAssociateInfoResult.ID;
                    msLoginDetails.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "assigned").Select(x => x.ID).FirstOrDefault();
                }



                manuscriptLoginDTO.manuscriptLoginDetails.Add(msLoginDetails);
                if (manuscriptLoginDTO.IsCrestIDPresent)
                {
                    //update record
                    var updateManuscriptLoginDetailsMS = new ManuscriptLoginDetails();
                    updateManuscriptLoginDetailsMS = _manuscriptLoginDBRepositoryReadSide.GetManuscriptLoginDetails(crestID, _manuscriptLoginDBRepositoryReadSide.MSServiceTypeID());
                    updateManuscriptLoginDetailsMS.SubmitedDate = DateTime.Now;
                    updateManuscriptLoginDetailsMS.FetchedDate  = DateTime.Now;
                    //update using query
                    updateManuscriptLoginDetailsMS.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "unallocate").Select(x => x.ID).FirstOrDefault();
                    //update using query
                    updateManuscriptLoginDetailsMS.JobStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "close").Select(x => x.ID).FirstOrDefault();
                    manuscriptLoginDTO.manuscriptLoginDetails.Add(updateManuscriptLoginDetailsMS);

                    //update record  _manuscriptLoginDetailsRepository
                    var updateManuscriptLoginDetailsRS = _manuscriptLoginDBRepositoryReadSide.GetManuscriptLoginDetails(crestID, _manuscriptLoginDBRepositoryReadSide.RSServiceTypeID());
                    updateManuscriptLoginDetailsRS.SubmitedDate = DateTime.Now;
                    updateManuscriptLoginDetailsRS.FetchedDate  = DateTime.Now;
                    //update using query
                    updateManuscriptLoginDetailsRS.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "unallocate").Select(x => x.ID).FirstOrDefault();
                    //update using query
                    updateManuscriptLoginDetailsRS.JobStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "close").Select(x => x.ID).FirstOrDefault();
                    manuscriptLoginDTO.manuscriptLoginDetails.Add(updateManuscriptLoginDetailsRS);
                }
            }
            else
            {
                var manuscriptLoginDetails = new ManuscriptLoginDetails
                {
                    AssignedDate        = DateTime.Now,
                    CrestId             = crestID,
                    ServiceTypeStatusId = manuscriptLoginDTO.manuscriptLogin.ServiceTypeStatusId,
                    JobStatusId         = Convert.ToInt32(manuscriptStatusID),
                    RoleId             = _manuscriptLoginDBRepositoryReadSide.GetAssociateRole(),
                    JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "open").Select(x => x.ID).FirstOrDefault()
                };
                if (!string.IsNullOrEmpty(manuscriptLoginDTO.AssociateName))
                {
                    var prGetAssociateInfoResult =
                        _manuscriptDBRepositoryReadSide.GetAssociateName(manuscriptLoginDTO.AssociateName)
                        .FirstOrDefault();
                    manuscriptLoginDetails.UserRoleId         = prGetAssociateInfoResult.ID;
                    manuscriptLoginDetails.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "assigned").Select(x => x.ID).FirstOrDefault();
                }
                manuscriptLoginDTO.manuscriptLoginDetails.Add(manuscriptLoginDetails);
                if (manuscriptLoginDTO.IsCrestIDPresent)
                {
                    //update record  _manuscriptLoginDetailsRepository
                    var updateManuscriptLoginDetailsMS = _manuscriptLoginDBRepositoryReadSide.GetManuscriptLoginDetails(crestID, _manuscriptLoginDBRepositoryReadSide.GetServiceTypeStatusId(crestID));
                    updateManuscriptLoginDetailsMS.SubmitedDate = DateTime.Now;
                    updateManuscriptLoginDetailsMS.FetchedDate  = DateTime.Now;
                    //update using query
                    updateManuscriptLoginDetailsMS.JobProcessStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "unallocate").Select(x => x.ID).FirstOrDefault();
                    //update using query
                    updateManuscriptLoginDetailsMS.JobStatusId = _manuscriptLoginDBRepositoryReadSide.GetStatusMaster().Where(x => x.Description.ToLower() == "close").Select(x => x.ID).FirstOrDefault();
                    manuscriptLoginDTO.manuscriptLoginDetails.Add(updateManuscriptLoginDetailsMS);
                }
            }
            _manuscriptLoginUnitOfWork.SaveManuscriptLoginDetails();
        }