Example #1
0
 public bool UpdateBulkFreeText(FreeTextBulkDto bulkDto, string userName, string IP)
 {
     using (TransactionScope scope = new TransactionScope())
         using (var db = new ApplicationDbContext())
         {
             var        categorySet  = CategorySet(bulkDto.CategoryId);
             var        DeliveryTans = db.DeliveryBatches.Where(d => d.Id == bulkDto.BatchId).Select(d => d.Tans).ToList();
             List <Tan> tans         = new List <Tan>();
             foreach (var tan in DeliveryTans)
             {
                 tans.AddRange(tan);
             }
             var TanIDs   = tans.Select(t => t.Id).ToList();
             var tanDatas = db.TanData.Where(t => TanIDs.Contains(t.Tan.Id) && categorySet.Contains((int)t.Tan.TanCategory)).ToList();
             Dictionary <Guid, string> rsnIdWiseFreeText = bulkDto.Dtos.ToDictionary(d => d.Id, d => d.FreeText);
             int count = 0;
             foreach (var tanData in tanDatas)
             {
                 bool needToUpdate    = false;
                 var  deserializedTan = JsonConvert.DeserializeObject <Tan>(tanData.Data);
                 foreach (var rsn in deserializedTan.RSNs)
                 {
                     if (rsnIdWiseFreeText.ContainsKey(rsn.Id))
                     {
                         rsn.FreeText = rsnIdWiseFreeText[rsn.Id];
                         needToUpdate = true;
                         count++;
                     }
                 }
                 if (needToUpdate)
                 {
                     tanData.Data = JsonConvert.SerializeObject(deserializedTan);
                     tanData.Date = DateTime.Now;
                     tanData.User = userName;
                     tanData.Ip   = IP;
                 }
             }
             db.SaveChanges();
             scope.Complete();
         }
     return(true);
 }
Example #2
0
        private async void DoSaveRsns(object obj)
        {
            try
            {
                LoadingRSNs = true;
                if (ExtractedRsns != null && MessageBox.Show("Confirm Update . .", "Confirm Save", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    List <FreeTextUpdateDto> dtos = new List <FreeTextUpdateDto>();
                    foreach (var rsn in ExtractedRsns)
                    {
                        dtos.Add(new FreeTextUpdateDto {
                            Id = rsn.Id, FreeText = rsn.FreeText
                        });
                    }
                    FreeTextBulkDto bulkDto = new FreeTextBulkDto();
                    bulkDto.BatchId    = SelectedDeliveryBatch.Id;
                    bulkDto.CategoryId = FromCategory.Value;
                    bulkDto.Dtos       = dtos;
                    var status = await RestHub.UpdateFreeTextBulk(bulkDto);

                    if (status.HttpCode == System.Net.HttpStatusCode.OK)
                    {
                        ExtractRsns.Execute(this);
                        var result = MessageBox.Show("RSNs Updated Successfully . .", "Status", MessageBoxButton.OKCancel);
                    }
                    else
                    {
                        AppErrorBox.ShowErrorMessage("Can't Update RSNs . .", status.HttpResponse);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
                AppErrorBox.ShowErrorMessage("Error while Updating RSNs", ex.ToString());
            }
            finally
            {
                LoadingRSNs = false;
            }
        }
        public static async Task <RestStatus> UpdateFreeTextBulk(FreeTextBulkDto dto)
        {
            try
            {
                RestStatus    status  = new RestStatus();
                List <string> tanNums = new List <string>();
                if (!string.IsNullOrEmpty(Sessionkey))
                {
                    using (var httpClient = new HttpClient())
                    {
                        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(BEARER_HEDER, Sessionkey);
                        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(APPLICATION_JSON));
                        StringContent       stringContent = new StringContent(String.Empty);
                        HttpResponseMessage response      = await httpClient.PostAsync(UPDATE_BULK_FREETEXT, new StringContent(JsonConvert.SerializeObject(dto), 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.HttpCode = System.Net.HttpStatusCode.OK;
                            }
                            else
                            {
                                status.StatusMessage = responseText;
                            }
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                Log.This(ex);
                throw;
            }
        }
        public object UpdateBulkFreeText(FreeTextBulkDto bulkDto)
        {
            var id = claimServices.UserId((ClaimsIdentity)User.Identity);

            return(ShipmentService.UpdateBulkFreeText(bulkDto, id, GetIP()));
        }