Exemple #1
0
        public HttpResponseMessage UploadArrangementImage(long arrangementId)
        {
            long image_id = 0;

            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            StreamContent sc = Request.Content as StreamContent;

            var filesReadToProvider = Request.Content.ReadAsMultipartAsync().Result;

            foreach (var stream in filesReadToProvider.Contents)
            {
                // Getting of content as byte[], picture name and picture type
                byte[] fileBytes   = stream.ReadAsByteArrayAsync().Result;
                var    pictureName = stream.Headers.ContentDisposition.FileName;
                var    contentType = stream.Headers.ContentType.MediaType;

                //save bytes to db
                AddArrangementImageRequest request = new AddArrangementImageRequest();
                request.ArrangementId = arrangementId;
                request.Image         = fileBytes;
                image_id = inventoryManager.AddArrangementImage(request);
            }

            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

            response.Content = new StringContent(Convert.ToString(image_id));

            return(response);
        }
Exemple #2
0
        public void AddArrangementImage(AddArrangementImageRequest request)
        {
            try
            {
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(LAN_Address);
                //client.DefaultRequestHeaders.Add("appkey", "myapp_key");
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                client.DefaultRequestHeaders.Add("EO-Header", User + " : " + Pwd);

                string jsonData = JsonConvert.SerializeObject(request);
                var    content  = new StringContent(jsonData, Encoding.UTF8, "application/json");
                HttpResponseMessage httpResponse = client.PostAsync("api/Login/AddArrangementImage", content).Result;
                if (httpResponse.IsSuccessStatusCode)
                {
                    int debug = 1;
                }
            }
            catch (Exception ex)
            {
                Exception ex2 = new Exception("AddArrangementImage", ex);
                LogError(ex2.Message, JsonConvert.SerializeObject(request));
            }
        }
Exemple #3
0
 public long AddArrangementImage(AddArrangementImageRequest arrangementImageRequest)
 {
     return(inventoryManager.AddArrangementImage(arrangementImageRequest));
 }
Exemple #4
0
 public long AddArrangementImage(AddArrangementImageRequest request)
 {
     return(persistence.AddArrangementImage(request));
 }
        public void OnSaveArrangementsClicked(object sender, EventArgs e)
        {
            try
            {
                string validationMessage = String.Empty;

                long arrangementId = 0;  //(long)((Button)sender).CommandParameter;

                if (!ValidateArrangement(ref validationMessage))
                {
                    DisplayAlert("Error", validationMessage, "Cancel");
                    return;
                }

                if (TabParent.ForWorkOrder)
                {
                    //get quantities from ArrangementItemsListView ItemsSource

                    AddArrangementRequest request = new AddArrangementRequest();
                    request.Arrangement = new ArrangementDTO();

                    request.Arrangement.ArrangementId = TabParent.CurrentArrangement != null ? TabParent.CurrentArrangement.Arrangement.ArrangementId : 0;

                    request.Arrangement.ArrangementName     = Name.Text;
                    request.Arrangement.DesignerName        = Designer.SelectedItem != null ? ((KeyValuePair <long, string>)Designer.SelectedItem).Value : String.Empty;
                    request.Arrangement._180or360           = Style.SelectedItem != null ? (int)((KeyValuePair <long, string>)Style.SelectedItem).Key : 1;
                    request.Arrangement.Container           = Container.SelectedItem != null ? (int)((KeyValuePair <long, string>)Style.SelectedItem).Key : 1; //1 = new container (db default)
                    request.Arrangement.CustomerContainerId = customerContainerId;
                    request.Arrangement.LocationName        = Location.Text;
                    request.Arrangement.UpdateDate          = DateTime.Now;
                    request.Arrangement.IsGift      = GiftCheckBox.IsChecked ? 1 : 0;
                    request.Arrangement.GiftMessage = GiftMessage.Text;

                    Random r = new Random();
                    long   tempArrangementId = r.Next(1, 100);

                    foreach (ArrangementInventoryItemDTO dto in arrangementInventoryList)
                    {
                        if (dto.ArrangementId != 0)
                        {
                            arrangementId = dto.ArrangementId;
                            break;
                        }

                        WorkOrderViewModel wovm = null;

                        if (((ObservableCollection <WorkOrderViewModel>)ArrangementItemsListView.ItemsSource).Where(a => a.InventoryId == dto.InventoryId).Any())
                        {
                            wovm         = ((ObservableCollection <WorkOrderViewModel>)ArrangementItemsListView.ItemsSource).Where(a => a.InventoryId == dto.InventoryId).First();
                            dto.Quantity = wovm.Quantity;
                        }
                    }

                    request.ArrangementInventory = arrangementInventoryList;

                    foreach (NotInInventoryDTO dto in notInInventoryList)
                    {
                        //group them for the work order
                        if (!dto.ArrangementId.HasValue || dto.ArrangementId == 0)
                        {
                            dto.ArrangementId = tempArrangementId;
                        }

                        WorkOrderViewModel wovm = null;

                        if (((ObservableCollection <WorkOrderViewModel>)ArrangementItemsListView.ItemsSource).Where(a => a.NotInInventoryId == dto.NotInInventoryId).Any())
                        {
                            wovm = ((ObservableCollection <WorkOrderViewModel>)ArrangementItemsListView.ItemsSource).Where(a => a.NotInInventoryId == dto.NotInInventoryId).First();
                            dto.NotInInventoryQuantity = wovm.Quantity;
                        }
                    }

                    request.NotInInventory = notInInventoryList;

                    request.Inventory = new InventoryDTO()
                    {
                        InventoryName       = String.IsNullOrEmpty(Name.Text) ? "Arrangement_" + Convert.ToString(tempArrangementId) : Name.Text,
                        InventoryTypeId     = 5,
                        ServiceCodeId       = 365,
                        NotifyWhenLowAmount = 0,
                        Quantity            = 1
                    };

                    MessagingCenter.Send <AddArrangementRequest>(request, "AddArrangementToWorkOrder");

                    if (!PopToPage("TabbedWorkOrderPage"))
                    {
                        Navigation.PopAsync();
                    }

                    return;
                }

                if (arrangementInventoryList.Count > 0)
                {
                    foreach (ArrangementInventoryItemDTO dto in arrangementInventoryList)
                    {
                        if (dto.ArrangementId != 0)
                        {
                            arrangementId = dto.ArrangementId;
                            break;
                        }

                        WorkOrderViewModel wovm = null;

                        if (((ObservableCollection <WorkOrderViewModel>)ArrangementItemsListView.ItemsSource).Where(a => a.InventoryId == dto.InventoryId).Any())
                        {
                            dto.Quantity = wovm.Quantity;
                        }
                    }

                    if (arrangementId == 0)
                    {
                        AddArrangementRequest request = new AddArrangementRequest();
                        request.Arrangement = new ArrangementDTO();
                        request.Arrangement.ArrangementName     = Name.Text;
                        request.Arrangement._180or360           = (int)((KeyValuePair <long, string>)Style.SelectedItem).Key;
                        request.Arrangement.Container           = (int)((KeyValuePair <long, string>)Container.SelectedItem).Key;
                        request.Arrangement.CustomerContainerId = null;
                        request.Arrangement.DesignerName        = ((KeyValuePair <long, string>)Designer.SelectedItem).Value;
                        request.Arrangement.LocationName        = Location.Text;
                        request.Arrangement.IsGift      = GiftCheckBox.IsChecked ? 1 : 0;
                        request.Arrangement.GiftMessage = GiftMessage.Text;

                        request.Arrangement.UpdateDate = DateTime.Now;
                        request.ArrangementInventory   = arrangementInventoryList.Where(a => a.InventoryId != 0).ToList(); // "Not In Inventory" items may have been added to the display list;

                        request.Inventory = new InventoryDTO()
                        {
                            InventoryName   = Name.Text,
                            InventoryTypeId = 5,
                        };

                        request.NotInInventory       = notInInventoryList;
                        request.ArrangementInventory = arrangementInventoryList.Where(a => a.InventoryId != 0).ToList();

                        arrangementId = ((App)App.Current).AddArrangement(request);

                        if (arrangementId > 0)
                        {
                            List <EOImgData> imageData = ((App)App.Current).GetImageData();

                            if (imageData.Count > 0)
                            {
                                foreach (EOImgData img in imageData)
                                {
                                    AddArrangementImageRequest imgRequest = new AddArrangementImageRequest()
                                    {
                                        ArrangementId = arrangementId,
                                        Image         = img.imgData
                                    };

                                    ((App)App.Current).AddArrangementImage(imgRequest);
                                }
                            }

                            DisplayAlert("Success", "New arrangement saved!", "OK");
                            ClearArrangements();
                        }
                        else
                        {
                            DisplayAlert("Error", "Problem saving arrangement", "OK");
                        }
                    }
                    else
                    {
                        GetSimpleArrangementResponse simpleArrangement = arrangementList.Where(a => a.Arrangement.ArrangementId == arrangementId).FirstOrDefault();

                        AddArrangementRequest request = new AddArrangementRequest();
                        request.Arrangement = new ArrangementDTO();
                        request.Arrangement.ArrangementId       = arrangementId;
                        request.Arrangement.ArrangementName     = Name.Text;
                        request.Arrangement._180or360           = (int)((KeyValuePair <long, string>)Style.SelectedItem).Key;
                        request.Arrangement.Container           = (int)((KeyValuePair <long, string>)Container.SelectedItem).Key;
                        request.Arrangement.CustomerContainerId = null;
                        request.Arrangement.DesignerName        = ((KeyValuePair <long, string>)Designer.SelectedItem).Value;
                        request.Arrangement.LocationName        = Location.Text;
                        request.Arrangement.UpdateDate          = DateTime.Now;
                        request.Arrangement.IsGift      = GiftCheckBox.IsChecked ? 1 : 0;
                        request.Arrangement.GiftMessage = GiftMessage.Text;

                        request.Inventory = simpleArrangement.Inventory;

                        request.ArrangementInventory = arrangementInventoryList;

                        request.NotInInventory = notInInventoryList;

                        arrangementId = ((App)App.Current).UpdateArrangement(request);

                        if (arrangementId == request.Arrangement.ArrangementId)
                        {
                            //only saves new images
                            List <EOImgData> imageData = ((App)App.Current).GetImageData();

                            if (imageData.Count > 0)
                            {
                                foreach (EOImgData img in imageData)
                                {
                                    AddArrangementImageRequest imgRequest = new AddArrangementImageRequest()
                                    {
                                        ArrangementId = arrangementId,
                                        Image         = img.imgData
                                    };

                                    ((App)App.Current).AddArrangementImage(imgRequest);
                                }
                            }

                            DisplayAlert("Success", "Arrangement updated!", "OK");
                            ClearArrangements();
                        }
                        else
                        {
                            DisplayAlert("Error", "Problem updating arrangement", "OK");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }