public ProjectResponse GetProjectByCode(ProjectRequest request) { var response = new ProjectResponse(); if (request.ProjectCode != string.Empty) { var projectFound = Olympus._Enterprise.Projects.Where(x => x.Code == request.ProjectCode).SingleOrDefault(); if (projectFound != null) { //response.Project = MapperPaths.Map(projectFound); response.Project = Mapper.Map<ProjectDto>(projectFound); } } return response; }
// Get Project Inform list public ProjectResponse GetActiveProjects() { var response = new ProjectResponse { ProjectList = new List<ProjectDto>() }; // Search active project informs var projectsFound = Olympus._Enterprise.Projects.Where(x => x.StateId == (int)EnumCatalog.State.Active) .OrderByDescending(y => y.Code) .ToList(); if (projectsFound.Count > 0) { // Detach all childs before mapping to avoid // sending not needed data on the request foreach (var project in projectsFound) { Olympus._Enterprise.Detach(project); } response.ProjectList = Mapper.Map<List<Project>, List<ProjectDto>>(projectsFound); } return response; }
public ProjectResponse UpdateInventoyOutputs(ProjectRequest request) { var inventoryOutputs = GetInventoryOutputs(request.Project.Code); var response = new ProjectResponse(); foreach(var tmpTask in request.Project.Tasks) { var taskOutputs = inventoryOutputs.Where(x => x.idTask.Equals(tmpTask)).ToList(); //Salidas de la tarea que se analiza //Se sacan los recursos de las salidas que pertenecen a una tarea especifica var resources = new List<SAL_DETALLE>(); foreach(var tmpOutput in taskOutputs) resources.AddRange(tmpOutput.SAL_DETALLE); //Se suman las salidas de cada recurso y se le asigna a lo real usado foreach(var tmpResource in tmpTask.Resources) { tmpResource.RealUsed = resources.Where(x => x.INV_Codigo.Equals(tmpResource.Code)).Sum(y => y.SAL_Cantidad); } } response.Project = request.Project; return response; }
public ProjectResponse CopyProject(ProjectRequest request) { var response = new ProjectResponse {Project = CopyProject(request.Project)}; return response; }
public ProjectResponse SearchTask(int projectId) { var response = new ProjectResponse { TaskList = new List<TaskDto>() }; var tasksFound = Olympus._Enterprise.Tasks .Where(x => x.ProjectId == projectId) .OrderBy(y => y.RowNumber) .ToList(); foreach (var task in tasksFound) { var tmpTask = Mapper.Map<TaskDto>(task); response.TaskList.Add(tmpTask); } return response; }
public ProjectResponse SearchProject(ProjectRequest request) { var response = new ProjectResponse {ProjectList = new List<ProjectDto>()}; var projectsFound = Olympus._Enterprise.Projects .Where(x => x.Name.Contains(request.SearchProjectQuery) || x.Customer.Name.Contains(request.SearchProjectQuery) || x.Code.Contains(request.SearchProjectQuery) && x.StateId == 1) .OrderBy(y => y.Code) .Take(Convert.ToInt32(Properties.Resources.MaximunResultRows)) .ToList(); foreach (var project in projectsFound) { var tmpResourceType = Mapper.Map<ProjectDto>(project); response.ProjectList.Add(tmpResourceType); } return response; }
public ProjectResponse SaveProject(ProjectRequest request) { var budgetAdapter = new BudgetAdapter(); var response = new ProjectResponse(); if (request.Project != null) { Project project = null; // Check if Edit or Add if (request.Project.Id > 0) { // Edit project = Olympus._Enterprise.Projects.Where(x => x.Id == request.Project.Id).SingleOrDefault(); Mapper.Map(request.Project, project); if (request.Project.Tasks != null) SaveTasks(request.Project.Tasks, project); } else { // Add if (request.Project.Code != null) { // Check some info from AlienDB project = new Project(); Mapper.Map(request.Project, project); if (request.Project.Tasks != null) SaveTasks(request.Project.Tasks, project); Olympus._Enterprise.Projects.AddObject(project); } } Olympus._Enterprise.SaveChanges(); if (project != null) //Save the Budget in DIALCOM { response.ProjectId = project.Id; var tmpTaskList = SearchTask(project.Id).TaskList; request.ProjectId = project.Id; var tmpProject = GetProject(request).Project; budgetAdapter.SaveBudget(tmpProject, tmpTaskList); } } return response; }