예제 #1
0
        public static async Task <RestStatus> UpdateShipmentUploadStatus(ShippmentUploadStatus ShippmentUploadStatus)
        {
            try
            {
                RestStatus status = new RestStatus();
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(APPLICATION_JSON));
                    StringContent       emptyContent = new StringContent(String.Empty);
                    HttpResponseMessage response     = await httpClient.PostAsync(UPDATE_ShipmentUploadStatus_URL, new StringContent(JsonConvert.SerializeObject(ShippmentUploadStatus), Encoding.UTF8, "application/json"));

                    using (HttpContent content = response.Content)
                    {
                        string responseText = await content.ReadAsStringAsync();

                        status.HttpCode     = response.StatusCode;
                        status.HttpResponse = responseText;
                        if (status.HttpCode == System.Net.HttpStatusCode.OK)
                        {
                            status.StatusMessage = "Shipmentstatus updated Successfully . .";
                            status.HttpCode      = System.Net.HttpStatusCode.OK;
                        }
                        else
                        {
                            status.StatusMessage = responseText;
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #2
0
        public static async Task <RestStatus> AddReportData(ErrorReport errPercdto)
        {
            try
            {
                RestStatus status = new RestStatus();
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(BEARER_HEDER, RestHub.Sessionkey);
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(APPLICATION_JSON));

                    HttpResponseMessage response = await httpClient.PostAsync(ADD_ERROR_REPORT_DATA, new StringContent(JsonConvert.SerializeObject(errPercdto), Encoding.UTF8, "application/json"));

                    using (HttpContent content = response.Content)
                    {
                        string responseText = await content.ReadAsStringAsync();

                        status.HttpResponse = responseText;
                        status.HttpCode     = response.StatusCode;
                        if (status.HttpCode == System.Net.HttpStatusCode.OK)
                        {
                            status.UserObject = JsonConvert.DeserializeObject <bool>(responseText);
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                Log.This(ex);
                throw;
            }
        }
예제 #3
0
        public static async Task <RestStatus> GetErrorPercentage(ErrorPercentageDto errPercdto)
        {
            try
            {
                RestStatus status = new RestStatus();
                using (var httpClient = new HttpClient())
                {
                    HttpResponseMessage response = await httpClient.PostAsync(ERROR_REPORT_URL, new StringContent(JsonConvert.SerializeObject(errPercdto), Encoding.UTF8, "application/json"));

                    using (HttpContent content = response.Content)
                    {
                        string responseText = await content.ReadAsStringAsync();

                        status.HttpCode = response.StatusCode;
                        if (status.HttpCode == System.Net.HttpStatusCode.OK)
                        {
                            status.HttpResponse = responseText;
                        }
                        else
                        {
                            dynamic state = JsonConvert.DeserializeObject <dynamic>(status.HttpResponse);
                            status.StatusMessage = state.error_description;
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                Log.This(ex);
                throw;
            }
        }
예제 #4
0
        private async Task LoadRoles(string userName)
        {
            try
            {
                LoginEnable = false;
                Roles.Clear();
                RestStatus status = await RestHub.UserRoles(UserName);

                if (status.HttpCode == System.Net.HttpStatusCode.OK)
                {
                    List <ProductRole> listRoles = (List <ProductRole>)status.UserObject;
                    if (listRoles.Count > 0)
                    {
                        SelectIndex = 0;
                        foreach (ProductRole productRole in listRoles)
                        {
                            Roles.Add(productRole);
                        }
                        LoginEnable = true;
                    }
                }
                else
                {
                    AppErrorBox.ShowErrorMessage("Can't Load Roles", status.StatusMessage);
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
        }
예제 #5
0
        public async Task LoadKeywords()
        {
            RestStatus status = await RestHub.TanKeyWords();

            if (status.UserObject != null)
            {
                keyWordsList = (List <TanKeywords>)status.UserObject;
            }
        }
예제 #6
0
 public IHttpActionResult RestfulPost(RestStatus status, string location, object content)
 {
     switch (status)
     {
         case RestStatus.BadRequest:
             return BadRequest();
         case RestStatus.Created:
             return Created(location, content);
         default:
             return InternalServerError();
     }
 }
예제 #7
0
 public IHttpActionResult RestfulDelete(RestStatus status)
 {
     switch (status)
     {
         case RestStatus.BadRequest:
             return BadRequest();
         case RestStatus.NotFound:
             return NotFound();
         case RestStatus.Deleted:
             return NoContent();
         default:
             return InternalServerError();
     }
 }
예제 #8
0
 public IHttpActionResult RestfulPut(RestStatus status, object content)
 {
     switch (status)
     {
         case RestStatus.BadRequest:
             return BadRequest();
         case RestStatus.NotFound:
             return NotFound();
         case RestStatus.Updated:
             return Ok(content);
         default:
             return InternalServerError();
     }
 }
예제 #9
0
        public async Task LoadData()
        {
            try
            {
                RestStatus status = await RestHub.Shipments();

                if (status.UserObject != null)
                {
                    List <BatchDTO> batches = (List <BatchDTO>)status.UserObject;
                    Batches = new ObservableCollection <Delivery.BatchVM>();
                    foreach (var batch in batches)
                    {
                        Batches.Add(new BatchVM
                        {
                            DateCreated   = batch.DateCreated,
                            DocumentsPath = batch.DocumentsPath,
                            Id            = batch.Id,
                            Name          = batch.Name
                        });
                    }
                }
                status = await RestHub.GetAllCurators();

                if (status.UserObject != null)
                {
                    List <UserDTO> curators = (List <UserDTO>)status.UserObject;
                    Curators = new ObservableCollection <Tasks.UsersVM>();
                    foreach (var user in curators)
                    {
                        Curators.Add(new UsersVM
                        {
                            UserId = user.UserID,
                            Role   = user.Role,
                            Name   = user.Name
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
        }
예제 #10
0
        private async Task UserReactionsReports(int Roleid)
        {
            try
            {
                var        mainVm = (App.Current.MainWindow as MainWindow).DataContext as MainVM;
                RestStatus status = await RestHub.UserReactionsReports(RoleId);

                if (status.HttpCode == System.Net.HttpStatusCode.OK)
                {
                    List <UserReportsDTO> userReportDto = (List <UserReportsDTO>)status.UserObject;
                    mainVm.UserReports    = new ObservableCollection <ViewModels.Extended.UserResportsVM>();
                    mainVm.AllUserReports = new ObservableCollection <ViewModels.Extended.UserResportsVM>();
                    foreach (var userReport in userReportDto.Where(ur => ur.SingleUser))
                    {
                        mainVm.UserReports.Add(new ViewModels.Extended.UserResportsVM {
                            Date = userReport.Date, ReactionsCount = userReport.ReactionsCount
                        });
                    }
                    mainVm.UserReports.Add(new ViewModels.Extended.UserResportsVM {
                        Date = DateTime.Now.AddDays(1).Date.ToString("dd-MM"), ReactionsCount = 0
                    });
                    foreach (var userReport in userReportDto.Where(ur => !ur.SingleUser))
                    {
                        mainVm.AllUserReports.Add(new ViewModels.Extended.UserResportsVM {
                            Date = userReport.Date, ReactionsCount = userReport.ReactionsCount
                        });
                    }
                    mainVm.AllUserReports.Add(new ViewModels.Extended.UserResportsVM {
                        Date = DateTime.Now.AddDays(1).Date.ToString("dd-MM"), ReactionsCount = 0
                    });
                }
                else
                {
                    AppErrorBox.ShowErrorMessage("User Report Can't Be Loaded", status.StatusMessage);
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
        }
예제 #11
0
        private async Task loginUser()
        {
            try
            {
                RestStatus status = await RestHub.LoginUser(userName, password);

                if (status.HttpCode == System.Net.HttpStatusCode.OK)
                {
                    Hide       = Visibility.Hidden;
                    U.UserName = userName;
                    U.RoleId   = RoleId;
                    U.UserRole = (from r in Roles
                                  where r.RoleId == RoleId
                                  select r.RoleName).FirstOrDefault();
                    await UserPermissionInfo(RoleId);
                    await UserReactionsReports(RoleId);

                    ((App.Current.MainWindow as MainWindow).DataContext as MainVM).UserName = (U.UserName + " \\ " + U.UserRole).ToUpper();
                    try
                    {
                        HubClient.InitHub();
                        HubClient.NotificationReceived += HubClient_NotificationReceived;
                        ((App.Current.MainWindow as MainWindow).DataContext as MainVM).SignalRId = HubClient.signalRId;
                    }
                    catch (Exception ex)
                    {
                        AppErrorBox.ShowErrorMessage("Error while conneciton to live server . .", ex.ToString());
                    };
                }
                else
                {
                    AppInfoBox.ShowInfoMessage(status.StatusMessage);
                    LoginEnable = true;
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
        }
예제 #12
0
        private async Task UserPermissionInfo(int RoleId)
        {
            try
            {
                RestStatus status = await RestHub.UserPermissionsInfo(RoleId);

                if (status.HttpCode == System.Net.HttpStatusCode.OK)
                {
                    UserInfoDTO userInfoDTO = (UserInfoDTO)status.UserObject;
                    U.CanApprove = userInfoDTO.canApprove;
                    U.CanReject  = userInfoDTO.canReject;
                    U.CanSubmit  = userInfoDTO.canSubmit;
                }
                else
                {
                    AppErrorBox.ShowErrorMessage("Unable to load user permission", status.StatusMessage);
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
        }
예제 #13
0
        public static async Task <RestStatus> GetShipmentUploadStatus()
        {
            try
            {
                RestStatus status = new RestStatus();
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(APPLICATION_JSON));
                    StringContent       emptyContent = new StringContent(String.Empty);
                    HttpResponseMessage response     = await httpClient.GetAsync(GET_ShipmentUploadStatus_URL);

                    using (HttpContent content = response.Content)
                    {
                        string responseText = await content.ReadAsStringAsync();

                        status.HttpCode     = response.StatusCode;
                        status.HttpResponse = responseText;
                        if (status.HttpCode == System.Net.HttpStatusCode.OK)
                        {
                            var ShipmentUploadStatus = JsonConvert.DeserializeObject <ShippmentUploadStatus>(responseText);
                            status.UserObject    = ShipmentUploadStatus;
                            status.StatusMessage = "ShipmentUploadStatus Loaded Successfully . .";
                            status.HttpCode      = System.Net.HttpStatusCode.OK;
                        }
                        else
                        {
                            status.StatusMessage = responseText;
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #14
0
        public static async Task GetStaticData()
        {
            try
            {
                regularExpressions.Clear();
                solventBoilingPoints.Clear();
                NamePriorities.Clear();

                RestStatus status = await RestHub.GetStaticData();

                if (status.UserObject != null)
                {
                    AppStaticDTO dto = (AppStaticDTO)status.UserObject;
                    regularExpressions.AddRange(dto.RegulerExpressions);
                    solventBoilingPoints.AddRange(dto.SolventBoilingPoints.OrderBy(sbp => sbp.Name).ToList());

                    commentDictionary.FreeText.Clear();
                    commentDictionary.CVT.Clear();

                    commentDictionary.FreeText = new List <FreeText>();
                    commentDictionary.FreeText = dto.CommentDictionary.Freetexts;

                    commentDictionary.CVT = new List <CVT>();
                    commentDictionary.CVT = dto.CommentDictionary.CVTs;
                    NamePriorities.AddRange(dto.NamePriorities);
                }
                else
                {
                    AppErrorBox.ShowErrorMessage("Unable to fetch initial data . .", status.StatusMessage);
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
        }
예제 #15
0
 /// <summary>
 /// Creates a new RestResponse with only a status. Message will be null and response will be a empty string.
 /// </summary>
 /// <param name="status">Status of the response.</param>
 public RestResponse(RestStatus status, string msg = null, object res = null)
 {
     this.Status   = status;
     this.Message  = msg;
     this.Response = res;
 }
예제 #16
0
 /// <summary>
 /// Creates a new RestReponse with status and set response. Message will be null.
 /// </summary>
 /// <param name="status">Status of the response.</param>
 /// <param name="response">The response.</param>
 public RestResponse(RestStatus status, object response)
 {
     this.Status   = status;
     this.Message  = null;
     this.Response = response;
 }
예제 #17
0
 /// <summary>
 /// Creates a new RestResponse with status and set message. Response will be null.
 /// </summary>
 /// <param name="status">Status of the response.</param>
 /// <param name="message">Message of the response.</param>
 public RestResponse(RestStatus status, string message)
 {
     this.Status   = status;
     this.Message  = message;
     this.Response = null;
 }
예제 #18
0
 /// <summary>
 ///  
 /// </summary>
 /// <returns></returns>
 public static string Response(this RestServiceBase restService, RestStatus restStatus)
 {
     return new ResponseContent { StatusCode = restStatus, }.ToJsonString();
 }
예제 #19
0
        private async Task LoadTasks(int RoleID, bool pullTasks)
        {
            try
            {
                ProgressBarVisibility = Visibility.Visible;
                ButtonEnable          = false;
                ClearTaskSheet();
                if (pullTasks)
                {
                    RestStatus pullTaskResult = await RestHub.PullTask(RoleID, pullTasks);

                    PullTask   pullTask   = pullTaskResult.UserObject != null ? (PullTask)pullTaskResult.UserObject : null;
                    PullTaskVM pullTaskVm = new PullTaskVM();
                    if (pullTask != null)
                    {
                        pullTaskVm.TanNumber = pullTask.TanNumber;
                        if (pullTask.UserRanks != null)
                        {
                            pullTaskVm.UserRank = pullTask.UserRanks.Find(ur => ur.Key == U.UserName)?.Rank;
                        }
                        if (pullTask.TanRanks != null && pullTask.TanNumber != null)
                        {
                            pullTaskVm.AllottedTanRank = pullTask.TanRanks.Find(ur => ur.Key == pullTask.TanNumber)?.Rank;
                        }
                        List <RankVM> rankVM = new List <RankVM>();
                        int           count  = 1;
                        foreach (var r in pullTask.TanRanks)
                        {
                            rankVM.Add(new RankVM {
                                DisplayOrder = count++, Key = r.Key, Rank = r.Rank, Score = r.Score.ToString()
                            });
                        }
                        pullTaskVm.TanRanks = new ObservableCollection <RankVM>(rankVM);
                        rankVM = new List <RankVM>();
                        count  = 1;
                        foreach (var r in pullTask.UserRanks)
                        {
                            rankVM.Add(new RankVM {
                                DisplayOrder = count++, Key = r.Key, Rank = r.Rank, Score = r.Score.ToString()
                            });
                        }
                        pullTaskVm.UserRanks = new ObservableCollection <Core.RankVM>(rankVM);
                        PullTaskDetails.ShowWindow(pullTaskVm);
                    }
                }
                RestStatus status = await RestHub.MyTans(RoleID, pullTasks);

                if (status.HttpCode == System.Net.HttpStatusCode.OK)
                {
                    List <TaskDTO> tans = status.UserObject as List <TaskDTO>;
                    if (tans != null && tans.Count > 0)
                    {
                        foreach (TaskDTO tan in tans)
                        {
                            Tasks.Add(new TaskDeatilsVM
                            {
                                TanId             = tan.Id,
                                TanName           = tan.TanName,
                                Status            = tan.Status,
                                Analyst           = tan.Analyst,
                                BatchNo           = tan.BatchNo,
                                NUMsCount         = tan.NUMsCount,
                                QC                = tan.QC,
                                Reviewer          = tan.Reviewer,
                                RXNsCount         = tan.RXNsCount,
                                Version           = tan.Version,
                                TanCompletionDate = tan.TanCompletionDate,
                                ProcessingNote    = tan.ProcessingNote,
                                NearToTargetDate  = tan.NearToTargetDate
                            });
                        }
                        Tasks.UpdateDisplayOrder();
                        UserTasks = new ListCollectionView(Tasks);
                    }
                    else
                    {
                        AppInfoBox.ShowInfoMessage("No Tasks Found. Try GetTasks After Some Time.");
                    }
                }
                else
                {
                    AppErrorBox.ShowErrorMessage("Some error occured in Getting Tans.", status.StatusMessage);
                }
                ButtonEnable = true;
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
            finally
            {
                ProgressBarVisibility = Visibility.Hidden;
            }
        }
예제 #20
0
 /// <summary>
 /// The status of the service
 /// </summary>
 /// <param name="status">Status object</param>
 /// <returns>Service Response Builder</returns>
 public ServiceResponseBuilder <T> WithStatus(RestStatus status)
 {
     this._status = status;
     return(this);
 }
예제 #21
0
 /// <summary>
 /// Writes an error message
 /// </summary>
 /// <param name="response"></param>
 /// <param name="status"></param>
 /// <param name="message"></param>
 public static void WriteRest(this HttpListenerResponse response, RestStatus status, string message)
 {
     response.WriteRest(new RestResponse(status, msg: message));
 }