Пример #1
0
        public GetLongIdResponse ImportMaterial(ImportMaterialRequest request)
        {
            GetLongIdResponse response = new GetLongIdResponse();

            response.returnedId = inventoryManager.ImportMaterial(request);
            return(response);
        }
Пример #2
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);
        }
Пример #3
0
 public long ImportMaterial(ImportMaterialRequest request)
 {
     return(persistence.ImportMaterial(request));
 }