Пример #1
0
        public IEnumerable <ProjectComplaint> GetProjectComplaints(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);

            IEnumerable <ProjectComplaint> projectComplaints = null;

            projectComplaints = this.context.Query <ProjectComplaint>().Where(s => s.ProjectId == projectId && s.IsActive == true).ToList();

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

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

            return(projectComplaints);
        }
Пример #2
0
        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));
        }