예제 #1
0
        public ServiceCodeDTO GetServiceCodeById(long serviceCodeId)
        {
            ServiceCodeDTO serviceCode = new ServiceCodeDTO();

            try
            {
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(((App)App.Current).LAN_Address);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("plain/text"));

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

                HttpResponseMessage httpResponse =
                    client.GetAsync("api/Login/GetServiceCodeById?serviceCodeId=" + ((int)serviceCodeId).ToString()).Result;
                if (httpResponse.IsSuccessStatusCode)
                {
                    string strData = httpResponse.Content.ReadAsStringAsync().Result;
                    serviceCode = JsonConvert.DeserializeObject <ServiceCodeDTO>(strData);
                }
                else
                {
                    MessageBox.Show("There was an error retreiving service code with id = " + serviceCodeId.ToString());
                }
            }
            catch (Exception ex)
            {
                Exception ex2 = new Exception("Admin - GetServiceCodeById", ex);
                ((App)App.Current).LogError(ex2.Message, "serviceCodeId = " + serviceCodeId.ToString());
            }

            return(serviceCode);
        }
예제 #2
0
        public async Task <ServiceCodeDTO> GetServiceCodeById(long serviceCodeId)
        {
            GenericGetRequest request  = new GenericGetRequest("GetServiceCodeById", "serviceCodeId", serviceCodeId);
            ServiceCodeDTO    response = await GetRequest <ServiceCodeDTO>(request);

            return(response);
        }
예제 #3
0
        public GetLongIdResponse DoesServiceCodeExist(ServiceCodeDTO serviceCodeDTO)
        {
            GetLongIdResponse response = new GetLongIdResponse();

            response.returnedId = inventoryManager.DoesServiceCodeExist(serviceCodeDTO);
            return(response);
        }
예제 #4
0
        public ApiResponse AddServiceCode(ServiceCodeDTO serviceCodeDTO)
        {
            ApiResponse response = new ApiResponse();

            long serviceCodeId = inventoryManager.ServiceCodeIsNotUnique(serviceCodeDTO.ServiceCode);

            if (serviceCodeId > 0)
            {
                response.AddMessage("ServiceCode", new List <string>()
                {
                    "This service code is in use. Please choose another."
                });
            }
            else if (inventoryManager.GeneralLedgerIsNotUnique(serviceCodeDTO.GeneralLedger))
            {
                response.AddMessage("GeneralLedger", new List <string>()
                {
                    "This General Ledger value is in use. Please choose another."
                });
            }
            else
            {
                response.Id = inventoryManager.AddServiceCode(serviceCodeDTO);
                if (response.Id == 0)
                {
                    response.AddMessage("DbError", new List <string>()
                    {
                        "There was an error saving this service code."
                    });
                }
            }

            return(response);
        }
예제 #5
0
        private ServiceCodeDTO GetServiceCodeDTO(KeyValuePair <int, List <ExcelRowData> > kvp)
        {
            ServiceCodeDTO dto = new ServiceCodeDTO();

            long serviceCodeId = 0;

            int column = columnIndicesAndNames.Where(a => a.Value.ToUpper() == "CODE").Select(b => b.Key).First();

            dto.ServiceCode = rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault() as string;

            column = columnIndicesAndNames.Where(a => a.Value == "COST").Select(b => b.Key).First();

            dto.Cost = Convert.ToDecimal(rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault());

            column = columnIndicesAndNames.Where(a => a.Value == "RETAIL").Select(b => b.Key).First();

            dto.Price = Convert.ToDecimal(rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault());

            column = columnIndicesAndNames.Where(a => a.Value == "TAXABLE").Select(b => b.Key).First();

            string taxable = rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault() as string;

            dto.Taxable = taxable.Equals("YES") ? true : false;

            return(dto);
        }
예제 #6
0
        public AddContainerRequest()
        {
            Inventory = new InventoryDTO();

            Container = new ContainerDTO();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #7
0
        public AddMaterialRequest()
        {
            Inventory = new InventoryDTO();

            Material = new MaterialDTO();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #8
0
        public AddFoliageRequest()
        {
            Inventory = new InventoryDTO();

            Foliage = new FoliageDTO();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #9
0
        public AddPlantRequest()
        {
            Inventory = new InventoryDTO();

            Plant = new PlantDTO();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #10
0
        private void ShowImage(EOImgData img, ServiceCodeDTO serviceCode)
        {
            string price = string.Empty;

            if (serviceCode.ServiceCodeId > 0)
            {
                price = (serviceCode.Price.HasValue ? serviceCode.Price.Value.ToString("C2", CultureInfo.CurrentCulture) : String.Empty);
            }

            PopupImagePage popup = new PopupImagePage(img, price);

            Navigation.PushPopupAsync(popup);
        }
예제 #11
0
        private void ShowImage(EOImgData img, ServiceCodeDTO serviceCode)
        {
            string price = string.Empty;

            if (serviceCode.ServiceCodeId > 0)
            {
                price = (serviceCode.Price.HasValue ? serviceCode.Price.Value.ToString("C2", CultureInfo.CurrentCulture) : String.Empty);
            }

            Device.BeginInvokeOnMainThread(() =>
            {
                PopupImagePage popup = new PopupImagePage(img, price);
            });
        }
예제 #12
0
 public long DoesServiceCodeExist(ServiceCodeDTO serviceCodeDTO)
 {
     return(persistence.ServiceCodeExists(serviceCodeDTO));
 }
예제 #13
0
        public ImportFoliageRequest()
        {
            AddFoliageRequest = new AddFoliageRequest();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #14
0
        private void ImportMaterial(KeyValuePair <int, List <ExcelRowData> > kvp, ExcelPicture img)
        {
            //check for presence of plantName - add if not present
            long materialNameId = 0;

            int column = columnIndicesAndNames.Where(a => a.Value == "NAME").Select(b => b.Key).First();

            string materialName = rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault() as string;

            string result = Get("DoesMaterialNameExist", "materialName=" + materialName);

            GetLongIdResponse r = JsonConvert.DeserializeObject <GetLongIdResponse>(result);

            materialNameId = r.returnedId;

            column = columnIndicesAndNames.Where(a => a.Value == "SIZE").Select(b => b.Key).First();

            string materialSize = rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault() as string;

            //check for presence of plantType - add if not present

            long materialTypeId = 0;

            column = columnIndicesAndNames.Where(a => a.Value == "TYPE").Select(b => b.Key).First();

            string materialType = rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault() as string;

            result = Get("DoesMaterialTypeExist", "materialType=" + materialType);

            r = JsonConvert.DeserializeObject <GetLongIdResponse>(result);
            materialTypeId = r.returnedId;

            ////using cost, retail, plantName and plant Type, check for presence of service code - add if not present

            //ServiceCodeDTO serviceCode = GetServiceCodeDTO(kvp);

            //string jsonData = JsonConvert.SerializeObject(serviceCode);
            //var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            //result = Post("DoesServiceCodeExist", content);

            long serviceCodeId = 0;

            column = columnIndicesAndNames.Where(a => a.Value == "CODE").Select(b => b.Key).First();

            string serviceCode = rowData[kvp.Key].Where(a => a.column == column).Select(b => b.data).FirstOrDefault() as string;

            result = Get("ServiceCodeIsNotUnique", "serviceCode=" + serviceCode);
            r      = JsonConvert.DeserializeObject <GetLongIdResponse>(result);

            serviceCodeId = r.returnedId;

            //check for presence of plant - add if not present

            long materialId = 0;

            MaterialDTO materialDTO = GetMaterialDTO(kvp);

            string        jsonData = JsonConvert.SerializeObject(materialDTO);
            StringContent content  = new StringContent(jsonData, Encoding.UTF8, "application/json");

            result = Post("DoesMaterialExist", content);
            r      = JsonConvert.DeserializeObject <GetLongIdResponse>(result);

            materialId = r.returnedId;

            //check for presence of inventory - add if not present

            ImportMaterialRequest request = new ImportMaterialRequest();

            //add image if present
            if (img != null)
            {
                ImageConverter imgCon = new ImageConverter();
                request.imageBytes = (byte[])imgCon.ConvertTo(img.Image, typeof(byte[]));
            }

            //create DTO - send to service - backend will do the hookup

            request.MaterialSize = materialSize;
            request.AddMaterialRequest.Material.MaterialSize = materialSize;

            if (materialNameId == 0)
            {
                request.MaterialName = materialName;
            }
            else
            {
                request.AddMaterialRequest.Material.MaterialNameId = materialNameId;
            }

            if (materialTypeId == 0)
            {
                request.MaterialType = materialType;
            }
            else
            {
                request.AddMaterialRequest.Material.MaterialTypeId = materialTypeId;
            }


            request.ServiceCode = GetServiceCodeDTO(kvp);

            if (serviceCodeId > 0)
            {
                ServiceCodeDTO original = GetServiceCodeById(serviceCodeId);
                UpdateServiceCode(original, request.ServiceCode);
                request.ServiceCode = original;
                request.ServiceCode.ServiceCodeId = serviceCodeId;
                request.AddMaterialRequest.Inventory.ServiceCodeId = serviceCodeId;
            }

            jsonData = JsonConvert.SerializeObject(request);
            content  = new StringContent(jsonData, Encoding.UTF8, "application/json");

            Post("ImportMaterial", content);
        }
예제 #15
0
 private void UpdateServiceCode(ServiceCodeDTO original, ServiceCodeDTO modified)
 {
     original.Cost    = modified.Cost;
     original.Price   = modified.Price;
     original.Taxable = modified.Taxable;
 }
예제 #16
0
        public ImportMaterialRequest()
        {
            AddMaterialRequest = new AddMaterialRequest();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #17
0
        public ImportContainerRequest()
        {
            AddContainerRequest = new AddContainerRequest();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #18
0
        public ImportPlantRequest()
        {
            AddPlantRequest = new AddPlantRequest();

            ServiceCode = new ServiceCodeDTO();
        }
예제 #19
0
 public long AddServiceCode(ServiceCodeDTO serviceCodeDTO)
 {
     return(persistence.AddServiceCode(serviceCodeDTO));
 }