Exemplo n.º 1
0
        public async Task <ActionResult <Dto.ProjectForGetFull> > GetFull([FromBody] Dto.ProjectForGet Project)
        {
            if (Project == null)
            {
                return(BadRequest());
            }
            if (Project.Id == "")
            {
                return(BadRequest());
            }
            Models.Project projectModel = await Repo.GetFull(new Models.Project {
                Id = Project.Id
            });

            if (projectModel == null)
            {
                return(BadRequest());
            }
            List <Dto.Log> logs = new List <Dto.Log>();

            foreach (Models.Log log in projectModel.Logs)
            {
                logs.Add(new Log {
                    Id = log.Id, Start = log.Start, Stop = log.Stop, ActivityId = log.ActivityId, Description = log.Description, UserId = log.UserId
                });
            }
            List <Dto.Activity> activities = new List <Activity>();

            foreach (Models.Activity activity in projectModel.Activitys)
            {
                activities.Add(new Activity {
                    Id = activity.Id, Name = activity.Name
                });
            }
            List <Dto.UserForGet> users = new List <UserForGet>();

            foreach (Models.ProjectUser projectUser in projectModel.Users)
            {
                users.Add(new Dto.UserForGet {
                    Id = projectUser.User.Id, Name = projectUser.User.Name, RoleId = projectUser.User.RoleId, Email = projectUser.User.Email, ChangeHistory = projectUser.User.ChangeHistory
                });
            }
            return(Ok(new Dto.ProjectForGetFull {
                Id = projectModel.Id, Logs = logs, Activitys = activities, UsersOnTheProject = users, InProgress = projectModel.InProgress, Billable = projectModel.Billable, Overtime = projectModel.Overtime, Name = projectModel.Name, Company = new Company {
                    Id = projectModel.Company.Id, Name = projectModel.Company.Name
                }
            }));
        }
Exemplo n.º 2
0
        public async Task <ActionResult <Dto.ProjectForGetSmall> > GetSmall([FromBody] Dto.ProjectForGet Project)
        {
            if (Project == null)
            {
                return(BadRequest());
            }
            if (Project.Id == "")
            {
                return(BadRequest());
            }
            Models.Project projectModel = await Repo.GetFull(new Models.Project {
                Id = Project.Id
            });

            if (projectModel == null)
            {
                return(BadRequest());
            }
            List <string> logIds = new List <string>();

            foreach (Models.Log log in projectModel.Logs)
            {
                logIds.Add(log.Id);
            }
            List <string> activitieIds = new List <string>();

            foreach (Models.Activity activity in projectModel.Activitys)
            {
                activitieIds.Add(activity.Id);
            }
            List <string> userIds = new List <string>();

            foreach (Models.ProjectUser user in projectModel.Users)
            {
                userIds.Add(user.UserId);
            }
            return(Ok(new Dto.ProjectForGetSmall {
                Id = projectModel.Id, LogsId = logIds, ActivitysId = activitieIds, UsersId = userIds, InProgress = projectModel.InProgress, Billable = projectModel.Billable, Overtime = projectModel.Overtime, Name = projectModel.Name, CompanyId = projectModel.Company.Id
            }));
        }