Example #1
0
        public GetLongIdResponse ImportFoliage(ImportFoliageRequest request)
        {
            GetLongIdResponse response = new GetLongIdResponse();

            response.returnedId = inventoryManager.ImportFoliage(request);
            return(response);
        }
Example #2
0
        private void ImportFoliage(KeyValuePair <int, List <ExcelRowData> > kvp, ExcelPicture img)
        {
            //check for presence of plantName - add if not present
            long foliageNameId = 0;

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

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

            string result = Get("DoesFoliageNameExist", "foliageName=" + foliageName);

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

            foliageNameId = r.returnedId;

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

            string foliageSize = 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 foliageTypeId = 0;

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

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

            result = Get("DoesFoliageTypeExist", "foliageType=" + foliageType);

            r             = JsonConvert.DeserializeObject <GetLongIdResponse>(result);
            foliageTypeId = 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.ToUpper() == "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 foliageId = 0;

            FoliageDTO foliageDTO = GetFoliageDTO(kvp);

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

            result = Post("DoesFoliageExist", content);

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

            foliageId = r.returnedId;

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

            ImportFoliageRequest request = new ImportFoliageRequest();

            request.AddFoliageRequest.Foliage.FoliageSize = foliageSize;

            //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

            if (foliageNameId == 0)
            {
                request.FoliageName = foliageName;
            }
            else
            {
                request.AddFoliageRequest.Foliage.FoliageNameId = foliageNameId;
            }

            if (foliageTypeId == 0)
            {
                request.FoliageType = foliageType;
            }
            else
            {
                request.AddFoliageRequest.Foliage.FoliageTypeId = foliageTypeId;
            }


            request.ServiceCode = GetServiceCodeDTO(kvp);

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

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

            Post("ImportFoliage", content);
        }
Example #3
0
 public long ImportFoliage(ImportFoliageRequest request)
 {
     return(persistence.ImportFoliage(request));
 }