Ejemplo n.º 1
0
        public GetLongIdResponse ImportPlant(ImportPlantRequest request)
        {
            GetLongIdResponse response = new GetLongIdResponse();

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

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

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

            string result = Get("DoesPlantNameExist", "plantName=" + plantName);

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

            plantNameId = r.returnedId;

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

            long plantTypeId = 0;

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

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

            result = Get("DoesPlantTypeExist", "plantType=" + plantType);

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

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

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

            ////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 plantId = 0;

            PlantDTO plantDTO = GetPlantDTO(kvp);

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

            result = Post("DoesPlantExist", content);

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

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

            ImportPlantRequest request = new ImportPlantRequest();

            request.PlantSize = plantSize;
            request.AddPlantRequest.Plant.PlantSize = plantSize;

            //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 (plantNameId == 0)
            {
                request.PlantName = plantName;
            }
            else
            {
                request.AddPlantRequest.Plant.PlantNameId = plantNameId;
            }

            if (plantTypeId == 0)
            {
                request.PlantType = plantType;
            }
            else
            {
                request.AddPlantRequest.Plant.PlantTypeId = plantTypeId;
            }


            request.ServiceCode = GetServiceCodeDTO(kvp);

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

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

            if (request.PlantSize == "5")
            {
                int debug = 1;
            }

            Post("ImportPlant", content);
        }
Ejemplo n.º 3
0
 public long ImportPlant(ImportPlantRequest request)
 {
     return(persistence.ImportPlant(request));
 }