Exemple #1
0
        public IList <ChangeRequestDetails> GetChangeRequestDetails(int projectId, int WeekId)
        {
            int weekId = _genericService.GetWeekIdFromMasterTable(WeekId, DateTime.Now.Year);

            var currentWeek   = _genericService.GetWeek(DateTime.Now.GetPreviousWeek());
            int currentWeekId = _genericService.GetWeekIdFromMasterTable(currentWeek, DateTime.Now.Year);

            var changeRequestDetails = this.context.Query <ChangeRequestDetails>()
                                       .Where(p => p.ProjectId == projectId && p.IsActive == true).ToList();

            if (weekId != 0)
            {
                changeRequestDetails = changeRequestDetails.Where(p => p.WeekId == weekId).ToList();
            }

            if (changeRequestDetails.Count() == 0)
            {
                if (weekId >= currentWeekId)
                {
                    ChangeRequestDetails prevWeekData = this.context.Query <ChangeRequestDetails>().Where(p => p.ProjectId == projectId).OrderByDescending(p => p.WeekId).FirstOrDefault();
                    if (prevWeekData != null)
                    {
                        changeRequestDetails = this.context.Query <ChangeRequestDetails>().Where(p => p.ProjectId == projectId && p.IsActive == true && p.WeekId == prevWeekData.WeekId).OrderByDescending(p => p.WeekId).ToList();
                        foreach (var item in changeRequestDetails)
                        {
                            item.ChangeRequestId = 0;
                        }
                    }
                }
            }


            return(changeRequestDetails);
        }
Exemple #2
0
        /// <summary>
        /// This region will contain all the public methods
        /// </summary>
        #region Public Methods

        /// <summary>
        /// This service function will fetch All required data
        /// </summary>
        /// <returns>CR Details </returns>
        public JsonResult GetAllCRDetails(Users user, bool isEMIEChampion)
        {
            try
            {
                IQueryable <Applications> applications = null;
                applications = GetAllApplications(user, isEMIEChampion, "");


                IQueryable <ChangeTypes> changeTypes = DbEntity.EMIEChangeTypes.Where(ch => ch.IsActive == true).Select(ch => new ChangeTypes
                {
                    ChangeTypeId   = ch.ChangeTypeId,
                    ChangeTypeName = ch.ChangeType
                }).OrderBy(x => x.ChangeTypeName);

                IQueryable <ReasonForChanges> reasonForChanges = DbEntity.EMIEReasonForChanges.Where(ch => ch.IsActive == true).Select(ch => new ReasonForChanges
                {
                    ReasonForChangeId   = ch.ReasonForChangeId,
                    ReasonForChangeName = ch.ReasonForChange
                }).OrderBy(x => x.ReasonForChangeName);

                IQueryable <DocModes> docModes = DbEntity.DocModes.Where(ch => ch.IsActive == true).Select(ch => new DocModes
                {
                    DocModeId   = ch.DocModeId,
                    DocModeName = ch.DocMode1
                });

                //Saving all these lists in one model class
                ChangeRequestDetails CRDetails = new ChangeRequestDetails()
                {
                    Applications     = applications.ToList(),
                    ChangeTypes      = changeTypes.ToList(),
                    DocModes         = docModes.ToList(),
                    ReasonForChanges = reasonForChanges.ToList(),
                };

                return(Json(CRDetails, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult SaveProjectSummary(ProjectStatus ProjectStatus, IList <ProjectSummaryViewModel> SprintDetails, IList <ProjectResourceUtilizationViewModel> ResourceDetails,
                                               IList <ProjectComplaintViewModel> ComplaintDetails, IList <PaymentDetailsViewModel> PaymentDetails, IList <ChangeRequestDetailsViewModel> ChangeRequestDetails,
                                               IList <InfrastructureDetailsViewModel> InfrastructureDetails, string tabsPosted)
        {
            string userName  = _cookieHelper.GetCookie("userid");
            int    projectId = ProjectStatus.ProjectId;

            //Automapper
            //var prjSprintModelJs = _mappingService.Map<IList<ProjectSummaryViewModel>, IList<ProjectSummary>>(SprintDetails).ToList();

            IList <ProjectSummary> prjSprintModelJs = new List <ProjectSummary>();

            if (SprintDetails != null)
            {
                foreach (var model in SprintDetails)
                {
                    ProjectSummary prjSprintSingleRecord = new ProjectSummary();
                    prjSprintSingleRecord.ProjectSummaryId = model.ProjectSummaryId;
                    prjSprintSingleRecord.ProjectId        = projectId;
                    prjSprintSingleRecord.ReleaseNumber    = model.ReleaseNumber;
                    prjSprintSingleRecord.MileStoneId      = model.MileStoneId;
                    prjSprintSingleRecord.SprintId         = model.SprintId;
                    prjSprintSingleRecord.ReleaseDate      = model.ReleaseDate;
                    prjSprintSingleRecord.StartDate        = model.StartDate;
                    prjSprintSingleRecord.EndDate          = model.EndDate;
                    prjSprintSingleRecord.FeedBack         = model.FeedBack;
                    prjSprintSingleRecord.Remarks          = model.Remarks;
                    prjSprintSingleRecord.WeekId           = model.WeekId;
                    prjSprintSingleRecord.CreatedBy        = model.CreatedBy;
                    prjSprintSingleRecord.CreatedDate      = model.CreatedDate;
                    prjSprintSingleRecord.ModifiedBy       = model.ModifiedBy;
                    prjSprintSingleRecord.ModifiedDate     = model.ModifiedDate;
                    prjSprintModelJs.Add(prjSprintSingleRecord);
                }
            }

            //Automapper
            //var projectResourceModel = _mappingService.Map<IList<ProjectResourceUtilizationViewModel>, IList<ProjectResourceUtilization>>(ResourceDetails).ToList();

            // Resource Details
            IList <ProjectResourceUtilization> projectResourceModel = new List <ProjectResourceUtilization>();

            if (ResourceDetails != null)
            {
                foreach (var resourceDetail in ResourceDetails)
                {
                    ProjectResourceUtilization projectResourceSingleRecord = new ProjectResourceUtilization();

                    projectResourceSingleRecord.ProjectResourceId = resourceDetail.ProjectResourceId;
                    projectResourceSingleRecord.ProjectId         = projectId;
                    projectResourceSingleRecord.WeekId            = resourceDetail.WeekId;
                    projectResourceSingleRecord.RoleName          = resourceDetail.RoleName;
                    projectResourceSingleRecord.ResourceName      = resourceDetail.ResourceName;
                    projectResourceSingleRecord.AvailableEfforts  = resourceDetail.AvailableEfforts;
                    projectResourceSingleRecord.ConsumedEfforts   = resourceDetail.ConsumedEfforts;
                    projectResourceSingleRecord.Status            = resourceDetail.Status;
                    projectResourceSingleRecord.CreatedBy         = resourceDetail.CreatedBy;
                    projectResourceSingleRecord.CreatedDate       = resourceDetail.CreatedDate;
                    projectResourceSingleRecord.ModifiedBy        = resourceDetail.ModifiedBy;
                    projectResourceSingleRecord.ModifiedDate      = resourceDetail.ModifiedDate;

                    projectResourceModel.Add(projectResourceSingleRecord);
                }
            }

            //Automapper
            //var projectResComplaintModel = _mappingService.Map<IList<ProjectComplaintViewModel>, IList<ProjectComplaint>>(ComplaintDetails).ToList();

            //Complaint Details
            IList <ProjectComplaint> projectResComplaintModel = new List <ProjectComplaint>();

            if (ComplaintDetails != null)
            {
                foreach (var complaintDetail in ComplaintDetails)
                {
                    ProjectComplaint projectComplaintSingleRecord = new ProjectComplaint();

                    projectComplaintSingleRecord.ComplaintId   = complaintDetail.ComplaintId;
                    projectComplaintSingleRecord.ProjectId     = projectId;
                    projectComplaintSingleRecord.WeekId        = complaintDetail.WeekId;
                    projectComplaintSingleRecord.Remarks       = complaintDetail.Remarks;
                    projectComplaintSingleRecord.StatusId      = complaintDetail.StatusId;
                    projectComplaintSingleRecord.Description   = complaintDetail.Description;
                    projectComplaintSingleRecord.PlannedAction = complaintDetail.PlannedAction;
                    projectComplaintSingleRecord.CreatedBy     = complaintDetail.CreatedBy;
                    projectComplaintSingleRecord.CreatedDate   = complaintDetail.CreatedDate;
                    projectComplaintSingleRecord.ModifiedBy    = complaintDetail.ModifiedBy;
                    projectComplaintSingleRecord.ModifiedDate  = complaintDetail.ModifiedDate;

                    projectResComplaintModel.Add(projectComplaintSingleRecord);
                }
            }

            // Payment Details
            IList <PaymentDetails> paymentDetailsModel = new List <PaymentDetails>();

            if (PaymentDetails != null)
            {
                foreach (var paymentDetail in PaymentDetails)
                {
                    PaymentDetails paymentDetailsSingleRecord = new PaymentDetails();

                    paymentDetailsSingleRecord.PaymentDetailId = paymentDetail.PaymentDetailId;
                    paymentDetailsSingleRecord.ProjectId       = projectId;
                    paymentDetailsSingleRecord.WeekId          = paymentDetail.WeekId;
                    paymentDetailsSingleRecord.InvoiceNumber   = paymentDetail.InvoiceNumber;
                    paymentDetailsSingleRecord.InvoicedEffort  = paymentDetail.InvoicedEffort;
                    paymentDetailsSingleRecord.InvoiceStatusId = paymentDetail.InvoiceStatusId;
                    paymentDetailsSingleRecord.CreatedBy       = paymentDetail.CreatedBy;
                    paymentDetailsSingleRecord.CreatedDate     = paymentDetail.CreatedDate;
                    paymentDetailsSingleRecord.ModifiedBy      = paymentDetail.ModifiedBy;
                    paymentDetailsSingleRecord.ModifiedDate    = paymentDetail.ModifiedDate;

                    paymentDetailsModel.Add(paymentDetailsSingleRecord);
                }
            }

            // Change Request Details
            IList <ChangeRequestDetails> changeRequestDetailsModel = new List <ChangeRequestDetails>();

            if (ChangeRequestDetails != null)
            {
                foreach (var changeRequestDetail in ChangeRequestDetails)
                {
                    ChangeRequestDetails changeRequestDetailsSingleRecord = new ChangeRequestDetails();

                    changeRequestDetailsSingleRecord.ChangeRequestId       = changeRequestDetail.ChangeRequestId;
                    changeRequestDetailsSingleRecord.ProjectId             = projectId;
                    changeRequestDetailsSingleRecord.WeekId                = changeRequestDetail.WeekId;
                    changeRequestDetailsSingleRecord.ChangeRequestNumber   = changeRequestDetail.ChangeRequestNumber;
                    changeRequestDetailsSingleRecord.ReceivedDate          = changeRequestDetail.ReceivedDate;
                    changeRequestDetailsSingleRecord.ChangeRequestStatusId = changeRequestDetail.ChangeRequestStatusId;
                    changeRequestDetailsSingleRecord.CreatedBy             = changeRequestDetail.CreatedBy;
                    changeRequestDetailsSingleRecord.CreatedDate           = changeRequestDetail.CreatedDate;
                    changeRequestDetailsSingleRecord.ModifiedBy            = changeRequestDetail.ModifiedBy;
                    changeRequestDetailsSingleRecord.ModifiedDate          = changeRequestDetail.ModifiedDate;

                    changeRequestDetailsModel.Add(changeRequestDetailsSingleRecord);
                }
            }

            // Infrastructure Details
            IList <InfrastructureDetails> infrastructureDetailsModel = new List <InfrastructureDetails>();

            if (InfrastructureDetails != null)
            {
                foreach (var infrastructureDetail in InfrastructureDetails)
                {
                    InfrastructureDetails infrastructureDetailsSingleRecord = new InfrastructureDetails();

                    infrastructureDetailsSingleRecord.InfrastructureDetailId = infrastructureDetail.InfrastructureDetailId;
                    infrastructureDetailsSingleRecord.ProjectId        = projectId;
                    infrastructureDetailsSingleRecord.WeekId           = infrastructureDetail.WeekId;
                    infrastructureDetailsSingleRecord.DevelopmentAndQA = infrastructureDetail.DevelopmentAndQA;
                    infrastructureDetailsSingleRecord.UAT          = infrastructureDetail.UAT;
                    infrastructureDetailsSingleRecord.Production   = infrastructureDetail.Production;
                    infrastructureDetailsSingleRecord.CreatedBy    = infrastructureDetail.CreatedBy;
                    infrastructureDetailsSingleRecord.CreatedDate  = infrastructureDetail.CreatedDate;
                    infrastructureDetailsSingleRecord.ModifiedBy   = infrastructureDetail.ModifiedBy;
                    infrastructureDetailsSingleRecord.ModifiedDate = infrastructureDetail.ModifiedDate;

                    infrastructureDetailsModel.Add(infrastructureDetailsSingleRecord);
                }
            }

            //To check with automapper
            //var prjSprintModel = _mappingService.Map<IList<ProjectSummaryViewModel>, IList<ProjectSummaryModel>>(prjSprintModelJs);

            int result = _projectSummaryService.SaveProjectSummary(ProjectStatus, prjSprintModelJs, projectResourceModel,
                                                                   projectResComplaintModel, paymentDetailsModel, changeRequestDetailsModel, infrastructureDetailsModel, userName, tabsPosted);

            //////common funtion needed
            var projectMainViewModel = new ProjectMainViewModel();

            PopulateDataIntoViewModel(projectMainViewModel);

            //Bind Summary details
            projectMainViewModel.ProjectViewModel = GetProjectSummaryDetails(projectId, 0);

            if (result == 1)
            {
                projectMainViewModel.IsSuccess = Constants.SuccessMessage;
            }
            else
            {
                projectMainViewModel.IsSuccess = Constants.FailureMessage;
            }

            _itrackerHub.UpdateDashboard();
            //_itrackerHub.UpdateUserDashboard();

            return(Json(projectMainViewModel, JsonRequestBehavior.AllowGet));
        }