public IList <ProjectResourceUtilization> GetProjectResources(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 projectResources = this.context.Query <ProjectResourceUtilization>() .Where(p => p.ProjectId == projectId && p.IsActive == true).ToList(); if (WeekId != 0) { projectResources = projectResources.Where(p => p.WeekId == weekId).ToList(); } if (projectResources.Count() == 0) { if (weekId >= currentWeekId) { ProjectResourceUtilization prevWeekData = this.context.Query <ProjectResourceUtilization>().Where(p => p.ProjectId == projectId).OrderByDescending(p => p.WeekId).FirstOrDefault(); if (prevWeekData != null) { projectResources = this.context.Query <ProjectResourceUtilization>().Where(p => p.ProjectId == projectId && p.IsActive == true && p.WeekId == prevWeekData.WeekId).OrderByDescending(p => p.WeekId).ToList(); foreach (var item in projectResources) { item.ProjectResourceId = 0; } } } } return(projectResources); }
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)); }