示例#1
0
        /// <summary>
        /// Gets CustomTerminology
        /// </summary>
        /// <param name="consumerSecretToken"></param>
        /// <param name="dataAccessToken"></param>
        /// <param name="version"></param>
        /// <returns>CustomTerminologyBO</returns>
        private CustomTerminologyBO GetCustomTerminology(string consumerSecretToken, string dataAccessToken, string apiVersion)
        {
            TimeEntryService    integrationService  = new TimeEntryService();
            CustomTerminologyBO customTerminologyBO = new CustomTerminologyBO();

            // Calls GetCustomTerminology of Integration layer
            customTerminologyBO = integrationService.GetCustomTerminology(Constants.CONSUMER_SECRET_TOKEN, UtilityService.DecryptedText(dataAccessToken), apiVersion);

            return(customTerminologyBO);
        }
示例#2
0
        /// <summary>
        /// Gets CustomTerminology
        /// </summary>
        /// <param name="consumerSecretToken"></param>
        /// <param name="dataAccessToken"></param>
        /// <param name="version"></param>
        /// <returns>CustomTerminologyBO</returns>
        public CustomTerminologyBO GetCustomTerminology(string consumerSecretToken, string dataAccessToken, string version)
        {
            // Create uri to hit and make request using Dovico.CommonLibrary CRestApiHelper.MakeAPIRequest method
            string uri    = CRestApiHelper.BuildURI("CustomTerminology", null, version);
            string result = CRestApiHelper.MakeAPIRequest(uri, "GET", CRestApiHelper.MIME_TYPE_APPLICATION_JSON, string.Empty, consumerSecretToken, dataAccessToken);

            // Check for errors in return value
            UtilityService.CheckErrorsInDovicoAPI(result);

            JavaScriptSerializer objJavaScriptSerializer = new JavaScriptSerializer();

            objJavaScriptSerializer.MaxJsonLength = int.MaxValue;

            // Convert data to CustomTerminologyBO
            CustomTerminologyBO objJsonResultRootObject = (CustomTerminologyBO)objJavaScriptSerializer.Deserialize(result, typeof(CustomTerminologyBO));

            return(objJsonResultRootObject);
        }
示例#3
0
        /// <summary>
        /// For Validating the time entry before saving
        /// </summary>
        /// <param name="dataAccessToken"></param>
        /// <param name="timeEntrySubmissionDetails"></param>
        /// <returns>ErrorBO</returns>
        private ErrorBO SubmitValidation(string dataAccessToken, string apiVersion, TimeEntrySubmissionBO timeEntrySubmissionDetails)
        {
            ErrorBO error = new ErrorBO();

            try
            {
                CustomTerminologyBO customTerminology = GetCustomTerminology(Constants.CONSUMER_SECRET_TOKEN, dataAccessToken, apiVersion);

                // Validate Clientid, ProjectId, TaskId for required
                if (customTerminology != null)
                {
                    if (string.IsNullOrEmpty(timeEntrySubmissionDetails.ClientId))
                    {
                        error.Message = "Please select" + customTerminology.Client.Singular;
                        return(error);
                    }
                    if (string.IsNullOrEmpty(timeEntrySubmissionDetails.ProjectId))
                    {
                        error.Message = "Please select" + customTerminology.Project.Singular;
                        return(error);
                    }
                    if (string.IsNullOrEmpty(timeEntrySubmissionDetails.TaskId))
                    {
                        error.Message = "Please select" + customTerminology.Task.Singular;
                        return(error);
                    }
                }

                // Check Description for 4000 lenght
                if (!string.IsNullOrEmpty(timeEntrySubmissionDetails.Description))
                {
                    if (timeEntrySubmissionDetails.Description.Length > 4000)
                    {
                        error.Message = "Description cannot be greater than 4000 Characters.";
                        return(error);
                    }
                }

                // Check hours for greater than 0
                if (!timeEntrySubmissionDetails.CalendarEntry)
                {
                    if (timeEntrySubmissionDetails.Hours == 0.0)
                    {
                        error.Message = "Please Enter Total Hours";
                        return(error);
                    }
                }

                // If Calendar entry check start/stop time for required and validity
                if (timeEntrySubmissionDetails.CalendarEntry)
                {
                    if (string.IsNullOrEmpty(timeEntrySubmissionDetails.StartTime))
                    {
                        error.Message = "Please Enter Start Time.";
                        return(error);
                    }
                    if (string.IsNullOrEmpty(timeEntrySubmissionDetails.StopTime))
                    {
                        error.Message = "Please Enter Stop Time.";
                        return(error);
                    }

                    if (!Utility.IsValidTimeFormat(timeEntrySubmissionDetails.StartTime))
                    {
                        error.Message = "Please enter valid start time.";
                        return(error);
                    }

                    if (!Utility.IsValidTimeFormat(timeEntrySubmissionDetails.StopTime))
                    {
                        error.Message = "Please enter valid stop time.";
                        return(error);
                    }

                    if (!Utility.IsValidTime(Convert.ToDateTime(timeEntrySubmissionDetails.StartDate.ToShortDateString() + " " + timeEntrySubmissionDetails.StartTime),
                                             Convert.ToDateTime(timeEntrySubmissionDetails.EndDate.ToShortDateString() + " " + timeEntrySubmissionDetails.StopTime)))
                    {
                        error.Message = "Stop Time should be greater than Start Time";
                        return(error);
                    }
                }

                return(error);
            }
            catch (Exception e)
            {
                logger.Log(LogLevel.Error, e);
                error.Message = e.Message;
                return(error);
            }
        }