Example #1
0
        public IActionResult PostReportsGrid([FromBody] RequestReportsGrid reportsGridData)
        {
            try
            {
                var userName = this.GetUserNameWithImpersonation();

                // 0 - Default(none), 1 - Projects, 2 - Users, 3 - Dates, 4 - Clients.
                switch (reportsGridData.GroupById)
                {
                case (int)ReportsGroupBy.Project:
                    return(new JsonResult(_service.GroupByProjects(userName, reportsGridData)));

                case (int)ReportsGroupBy.User:
                    return(new JsonResult(_service.GroupByUsers(userName, reportsGridData)));

                case (int)ReportsGroupBy.Date:
                    return(new JsonResult(_service.GroupByDates(userName, reportsGridData)));

                case (int)ReportsGroupBy.Client:
                    return(new JsonResult(_service.GroupByClients(userName, reportsGridData)));

                default:
                    return(new JsonResult(_service.GroupByNone(userName, reportsGridData)));
                }
            }
            catch (Exception e)
            {
                _logger.LogWarning($"PostReportsGrid method with parameters ({reportsGridData});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
        public async Task <IActionResult> SentReport([FromBody] ReportsSendAsEmailView reportsGridData)
        {
            try
            {
                var userName = this.GetUserNameWithImpersonation();

                switch (reportsGridData.GroupById)
                {
                case (int)ReportsGroupBy.Project:
                {
                    await _service.SentGroupByProjects(userName, reportsGridData);

                    break;
                }

                case (int)ReportsGroupBy.User:
                {
                    await _service.SentGroupByUsers(userName, reportsGridData);

                    break;
                }

                case (int)ReportsGroupBy.Date:
                {
                    await _service.SentGroupByDates(userName, reportsGridData);

                    break;
                }

                case (int)ReportsGroupBy.Client:
                {
                    await _service.SentGroupByClients(userName, reportsGridData);

                    break;
                }

                default:
                {
                    await _service.SentGroupByNone(userName, reportsGridData);

                    break;
                }
                }

                return(Ok());
            }

            catch (Exception e)
            {
                _logger.LogWarning($"PostReportsGrid method with parameters ({reportsGridData});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
Example #3
0
 public ActionResult GetMembers(int id)
 {
     try
     {
         return(Ok(_service.GetMembers(id)));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"GetMembers method with parameters ({id});\n {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
Example #4
0
 public IActionResult Get()
 {
     try
     {
         return(Ok(_service.TimeTrackerAllProjects(this.GetUserNameWithImpersonation())));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"Get method {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
 public IActionResult Get()
 {
     try
     {
         return(Ok(_service.GetProjectsNames()));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"Get method {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
Example #6
0
 public IActionResult GetDropdowns()
 {
     try
     {
         return(new JsonResult(_service.ReportsDropDowns()));
     }
     catch (Exception e)
     {
         _logger.LogError($"GetReportsDropdowns method {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
 public ActionResult ManageProjectsOfManager()
 {
     try
     {
         return(Ok(_service.ManageProjectsOfManager(this.GetUserNameWithImpersonation())));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"ProjectsByManager method {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
 public IActionResult GetPicturesCacheGuid()
 {
     try
     {
         return(new JsonResult(_service.GetPicturesCacheGuid()));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"GetPicturesCacheGuid method {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
Example #9
0
 public IActionResult GetById(int id)
 {
     try
     {
         var result = _service.GetById(id, this.GetUserNameWithImpersonation());
         return(new ObjectResult(result));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"GetById with parameters ({id});\n {e}");
         var errors = ExceptionsChecker.CheckProjectsException(e);
         return(BadRequest(errors));
     }
 }
        public async Task <IActionResult> ReportsExportEmail([FromBody] ReportsExportEmailView reportsGridData)
        {
            try
            {
                switch (reportsGridData.CurrentQuery.GroupById)
                {
                case (int)ReportsGroupBy.Project:
                {
                    await _service.ExportEmailGroupByProjects(reportsGridData);

                    break;
                }

                case (int)ReportsGroupBy.User:
                {
                    await _service.ExportEmailGroupByUsers(reportsGridData);

                    break;
                }

                case (int)ReportsGroupBy.Date:
                {
                    await _service.ExportEmailGroupByDates(reportsGridData);

                    break;
                }

                case (int)ReportsGroupBy.Client:
                {
                    await _service.ExportEmailGroupByClients(reportsGridData);

                    break;
                }

                default:
                {
                    return(BadRequest());
                }
                }

                return(Ok());
            }
            catch (Exception e)
            {
                _logger.LogWarning($"ReportsExportEmail method with parameters ({reportsGridData});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
Example #11
0
        public IActionResult GetGridAndSaveCurrentQuery([FromBody] ReportsGridView reportsGridView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid Model"));
            }

            try
            {
                var userName = this.GetUserNameWithImpersonation();

                _reportsSettingsService.SaveCurrentQuery(reportsGridView.CurrentQuery, userName);

                // 0 - Default(none), 1 - Projects, 2 - Users, 3 - Dates, 4 - Clients.
                switch (reportsGridView.CurrentQuery.GroupById)
                {
                case (int)Constants.ReportsGroupBy.Project:
                {
                    return(new JsonResult(_service.ReportsGridGroupByProjects(userName, reportsGridView)));
                }

                case (int)Constants.ReportsGroupBy.User:
                {
                    return(new JsonResult(_service.ReportsGridGroupByUsers(userName, reportsGridView)));
                }

                case (int)Constants.ReportsGroupBy.Date:
                {
                    return(new JsonResult(_service.ReportsGridGroupByDates(userName, reportsGridView)));
                }

                case (int)Constants.ReportsGroupBy.Client:
                {
                    return(new JsonResult(_service.ReportsGridGroupByClients(userName, reportsGridView)));
                }

                default:
                {
                    return(BadRequest("Invalid Grouping value"));
                }
                }
            }
            catch (Exception e)
            {
                _logger.LogWarning($"PostReportsGrid method with parameters ({reportsGridView});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
        public IActionResult PostReportsGrid([FromBody] RequestReportsGrid reportsGridData)
        {
            try
            {
                var userName = this.GetUserNameWithImpersonation();

                switch (reportsGridData.GroupById)
                {
                case (int)ReportsGroupBy.Project:
                {
                    return(_service.ExportGroupByProjects(userName, reportsGridData, HttpContext));
                }

                case (int)ReportsGroupBy.User:
                {
                    return(_service.ExportGroupByUsers(userName, reportsGridData, HttpContext));
                }

                case (int)ReportsGroupBy.Date:
                {
                    return(_service.ExportGroupByDates(userName, reportsGridData, HttpContext));
                }

                case (int)ReportsGroupBy.Client:
                {
                    return(_service.ExportGroupByClients(userName, reportsGridData, HttpContext));
                }

                default:
                {
                    return(_service.ExportGroupByNone(userName, reportsGridData, HttpContext));
                }
                }
            }
            catch (InvalidOperationException invalidOperationException)
            {
                _logger.LogWarning(invalidOperationException.Message + $"\n {invalidOperationException}");
                var errors = ExceptionsChecker.CheckRunMethodSetCommonValuesForExportException(invalidOperationException);
                return(BadRequest(errors));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"PostReportsGrid method with parameters ({reportsGridData});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
Example #13
0
        public async Task <IActionResult> ReportsExportFileAsync([FromBody] ReportsGridView reportsGridData)
        {
            try
            {
                switch (reportsGridData.CurrentQuery.GroupById)
                {
                case (int)ReportsGroupBy.Project:
                {
                    return(await _service.ExportFileGroupByProjectsAsync(reportsGridData, HttpContext));
                }

                case (int)ReportsGroupBy.User:
                {
                    return(await _service.ExportFileGroupByUsersAsync(reportsGridData, HttpContext));
                }

                case (int)ReportsGroupBy.Date:
                {
                    return(await _service.ExportFileGroupByDatesAsync(reportsGridData, HttpContext));
                }

                case (int)ReportsGroupBy.Client:
                {
                    return(await _service.ExportFileGroupByClientsAsync(reportsGridData, HttpContext));
                }

                default:
                {
                    return(BadRequest());
                }
                }
            }
            catch (InvalidOperationException invalidOperationException)
            {
                _logger.LogWarning(invalidOperationException.Message + $"\n {invalidOperationException}");
                var errors = ExceptionsChecker.CheckRunMethodSetCommonValuesForExportException(invalidOperationException);
                return(BadRequest(errors));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"ReportsExportFile method with parameters ({reportsGridData});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
Example #14
0
        public IActionResult Create([FromBody] ProjectView projectData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequestErrors());
            }

            try
            {
                var result      = _service.Create(projectData, this.GetUserName());
                var locationUri = $"{Request.Host}/api/v1/odata/Projects({result.Id})";

                return(Created(locationUri, result));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"Create methodwith parameters ({JsonConvert.SerializeObject(projectData)});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }
Example #15
0
        public IActionResult Patch(int id, [FromBody] dynamic project)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequestErrors());
            }

            project.Id = id;

            try
            {
                var result = _service.Patch(project, this.GetUserName());
                return(new ObjectResult(result));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"Patch method with parameters ({id}, {project});\n {e}");
                var errors = ExceptionsChecker.CheckProjectsException(e);
                return(BadRequest(errors));
            }
        }