예제 #1
0
        public string ComposeMissingImage(object DTO)
        {
            string missingImageHtml = "";

            if (DTO as PlantInventoryDTO != null)
            {
                PlantInventoryDTO piDTO = DTO as PlantInventoryDTO;

                missingImageHtml = "<h1> Plant  Missing Image </h1>" +
                                   "<div> This plant record is missing an image - use the EO Mobile App or EO Admin app to add an appropriate image </div>" +
                                   "<br/>" +
                                   "<div> Plant Information </div>" +
                                   "<div> Plant ID: " + piDTO.Plant.PlantId.ToString() + "</div>" +
                                   "<div> Plant Name: " + piDTO.Plant.PlantName + "</div>" +
                                   "<div> Type Name: " + piDTO.Plant.PlantTypeName + "</div>" +
                                   "<div> Size: " + piDTO.Plant.PlantSize + "</div>";
            }
            else if (DTO as ContainerInventoryDTO != null)
            {
                ContainerInventoryDTO ciDTO = DTO as ContainerInventoryDTO;

                missingImageHtml = "<h1> Container Missing Image </h1>" +
                                   "<div> This container record is missing an image - use the EO Mobile App or EO Admin app to add an appropriate image </div>" +
                                   "<br/>" +
                                   "<div> Container Information </div>" +
                                   "<div> Container ID: " + ciDTO.Container.ContainerId.ToString() + "</div>" +
                                   "<div> Plant Name: " + ciDTO.Container.ContainerName + "</div>" +
                                   "<div> Type Name: " + ciDTO.Container.ContainerTypeName + "</div>" +
                                   "<div> Size: " + ciDTO.Container.ContainerSize + "</div>";
            }
            else if (DTO as MaterialInventoryDTO != null)
            {
                MaterialInventoryDTO miDTO = DTO as MaterialInventoryDTO;

                missingImageHtml = "<h1> Material Missing Image </h1>" +
                                   "<div> This material record is missing an image - use the EO Mobile App or EO Admin app to add an appropriate image </div>" +
                                   "<br/>" +
                                   "<div> Material Information </div>" +
                                   "<div> Material ID: " + miDTO.Material.MaterialId.ToString() + "</div>" +
                                   "<div> Material Name: " + miDTO.Material.MaterialName + "</div>" +
                                   "<div> Type Name: " + miDTO.Material.MaterialTypeName + "</div>" +
                                   "<div> Size: " + miDTO.Material.MaterialSize + "</div>";
            }

            else if (DTO as FoliageInventoryDTO != null)
            {
                FoliageInventoryDTO fiDTO = DTO as FoliageInventoryDTO;

                missingImageHtml = "<h1> Foliage Missing Image </h1>" +
                                   "<div> This foliage record is missing an image - use the EO Mobile App or EO Admin app to add an appropriate image </div>" +
                                   "<br/>" +
                                   "<div> Foliage Information </div>" +
                                   "<div> Foliage ID: " + fiDTO.Foliage.FoliageId.ToString() + "</div>" +
                                   "<div> Foliage Name: " + fiDTO.Foliage.FoliageName + "</div>" +
                                   "<div> Type Name: " + fiDTO.Foliage.FoliageTypeName + "</div>" +
                                   "<div> Size: " + fiDTO.Foliage.FoliageSize + "</div>";
            }

            return(missingImageHtml);
        }
예제 #2
0
        private void ShowImage(object sender, RoutedEventArgs e)
        {
            Button b = sender as Button;
            MaterialInventoryDTO materialInventoryDTO = b.CommandParameter as MaterialInventoryDTO;

            MainWindow wnd = Application.Current.MainWindow as MainWindow;

            GetByteArrayResponse imageResponse = wnd.GetImage(materialInventoryDTO.ImageId);
            ImageWindow          imageWindow   = new ImageWindow();

            imageWindow.Top  = Application.Current.MainWindow.Top + 200;
            imageWindow.Left = Application.Current.MainWindow.Left + 200;

            if (imageResponse.ImageData != null && imageResponse.ImageData.Length > 0)
            {
                BitmapImage image = new BitmapImage();
                using (var mem = new System.IO.MemoryStream(imageResponse.ImageData))
                {
                    mem.Position = 0;
                    image.BeginInit();
                    image.CreateOptions = BitmapCreateOptions.PreservePixelFormat;
                    image.CacheOption   = BitmapCacheOption.OnLoad;
                    image.StreamSource  = mem;
                    image.EndInit();
                }
                image.Freeze();

                imageWindow.ImageBox.Source = image;
            }

            imageWindow.Owner = wnd;
            imageWindow.ShowDialog();
        }
예제 #3
0
        public IQueryable <MaterialInventoryDTO> GetDetailInfo(MaterialInventoryDTO searchModel, Page page, out int totalcount)
        {
            var query = from M in DataContext.Material_Inventory
                        join mat in DataContext.Material_Info on
                        M.Material_UID equals mat.Material_Uid
                        join warst in DataContext.Warehouse_Storage
                        on M.Warehouse_Storage_UID equals warst.Warehouse_Storage_UID
                        join war in DataContext.Warehouse
                        on warst.Warehouse_UID equals war.Warehouse_UID
                        join bgorg in DataContext.System_Organization
                        on war.BG_Organization_UID equals bgorg.Organization_UID
                        join funplantorg in DataContext.System_Organization
                        on war.FunPlant_Organization_UID equals funplantorg.Organization_UID
                        join typeenum in DataContext.Enumeration
                        on war.Warehouse_Type_UID equals typeenum.Enum_UID
                        join users in DataContext.System_Users
                        on M.Modified_UID equals users.Account_UID
                        select new MaterialInventoryDTO
            {
                Material_Inventory_UID = M.Material_Inventory_UID,
                BG                       = bgorg.Organization_Name,
                Funplant                 = funplantorg.Organization_Name,
                Warehouse_Type           = typeenum.Enum_Value,
                Material_Id              = mat.Material_Id,
                Material_Name            = mat.Material_Name,
                Material_Types           = mat.Material_Types,
                Warehouse_ID             = war.Warehouse_ID,
                Rack_ID                  = warst.Rack_ID,
                Storage_ID               = warst.Storage_ID,
                Inventory_Qty            = M.Inventory_Qty,
                ModifyUser               = users.User_Name,
                Modified_Date            = M.Modified_Date,
                BG_Organization_UID      = war.BG_Organization_UID,
                FunPlant_OrganizationUID = war.FunPlant_Organization_UID,
                Material_Uid             = mat.Material_Uid,
                Warehouse_Type_UID       = war.Warehouse_Type_UID,
                Desc                     = M.Desc
            };

            query = query.Where(m => m.BG_Organization_UID == searchModel.BG_Organization_UID & m.FunPlant_OrganizationUID == searchModel.FunPlant_OrganizationUID
                                & m.Material_Uid == searchModel.Material_Uid & m.Warehouse_Type_UID == searchModel.Warehouse_Type_UID);
            totalcount = query.Count();
            query      = query.OrderByDescending(m => m.Modified_Date).GetPage(page);
            return(query);
        }
예제 #4
0
        private void ViewImage_Clicked(object sender, EventArgs e)
        {
            IReadOnlyList <Rg.Plugins.Popup.Pages.PopupPage> popupStack = Rg.Plugins.Popup.Services.PopupNavigation.Instance.PopupStack;

            //One at a time, please
            if (popupStack != null && popupStack.Count > 0)
            {
                return;
            }

            Button b = sender as Button;

            b.IsEnabled = false;

            try
            {
                MaterialInventoryDTO material = (MaterialInventoryDTO)((Button)sender).BindingContext;

                if (material != null)
                {
                    long materialImageId = ((App)App.Current).MissingImageId;
                    if (material.ImageId != 0)
                    {
                        materialImageId = material.ImageId;
                    }

                    EOImgData img = ((App)App.Current).GetImage(materialImageId);

                    if (materialImageId == ((App)App.Current).MissingImageId)
                    {
                        MessagingCenter.Send <MaterialInventoryDTO>(material, "MaterialMissingImage");
                    }

                    ((App)App.Current).GetServiceCodeById(material.Inventory.ServiceCodeId).ContinueWith(a => ShowImage(img, a.Result));
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                b.IsEnabled = true;
            }
        }
예제 #5
0
        public List <MaterialInventoryDTO> DoAllExportMaterialInventoryReprot(MaterialInventoryDTO searchModel)
        {
            if (searchModel.Warehouse_Storage_UID == 0)
            {
                var query1 = from M in DataContext.Material_Inventory
                             join warst in DataContext.Warehouse_Storage
                             on M.Warehouse_Storage_UID equals warst.Warehouse_Storage_UID
                             join war in DataContext.Warehouse
                             on warst.Warehouse_UID equals war.Warehouse_UID
                             group M by new
                {
                    M.Material_UID,
                    war.BG_Organization_UID,
                    war.FunPlant_Organization_UID,
                    war.Warehouse_Type_UID
                } into temp
                    select new
                {
                    matuid      = temp.Key.Material_UID,
                    bguid       = temp.Key.BG_Organization_UID,
                    funplantuid = temp.Key.FunPlant_Organization_UID,
                    typeuid     = temp.Key.Warehouse_Type_UID,
                    totalqty    = temp.Sum(m => m.Inventory_Qty),
                    maxuid      = temp.Max(m => m.Material_Inventory_UID)
                };
                var query = from M in query1
                            join mat in DataContext.Material_Info on
                            M.matuid equals mat.Material_Uid
                            join bgorg in DataContext.System_Organization
                            on M.bguid equals bgorg.Organization_UID
                            join funplantorg in DataContext.System_Organization
                            on M.funplantuid equals funplantorg.Organization_UID
                            join typeenum in DataContext.Enumeration
                            on M.typeuid equals typeenum.Enum_UID
                            join newm in DataContext.Material_Inventory
                            on M.maxuid equals newm.Material_Inventory_UID
                            join users in DataContext.System_Users
                            on newm.Modified_UID equals users.Account_UID
                            select new MaterialInventoryDTO
                {
                    Material_Inventory_UID = M.maxuid,
                    BG                       = bgorg.Organization_Name,
                    Funplant                 = funplantorg.Organization_Name,
                    Warehouse_Type           = typeenum.Enum_Value,
                    Material_Id              = mat.Material_Id,
                    Material_Name            = mat.Material_Name,
                    Material_Types           = mat.Material_Types,
                    Total_Qty                = M.totalqty,
                    ModifyUser               = users.User_Name,
                    Modified_Date            = newm.Modified_Date,
                    Warehouse_Type_UID       = M.typeuid,
                    BG_Organization_UID      = M.bguid,
                    FunPlant_OrganizationUID = M.funplantuid,
                    Warehouse_Storage_UID    = newm.Warehouse_Storage_UID,
                    Material_Uid             = mat.Material_Uid
                };
                if (searchModel.BG_Organization_UID != 0)
                {
                    query = query.Where(m => m.BG_Organization_UID == searchModel.BG_Organization_UID);
                }
                if (searchModel.FunPlant_OrganizationUID != 0)
                {
                    query = query.Where(m => m.FunPlant_OrganizationUID == searchModel.FunPlant_OrganizationUID);
                }
                if (searchModel.Warehouse_Type_UID != 0)
                {
                    query = query.Where(m => m.Warehouse_Type_UID == searchModel.Warehouse_Type_UID);
                }
                if (!string.IsNullOrWhiteSpace(searchModel.Material_Id))
                {
                    query = query.Where(m => m.Material_Id.Contains(searchModel.Material_Id));
                }
                if (!string.IsNullOrWhiteSpace(searchModel.Material_Name))
                {
                    query = query.Where(m => m.Material_Name.Contains(searchModel.Material_Name));
                }
                if (!string.IsNullOrWhiteSpace(searchModel.Material_Types))
                {
                    query = query.Where(m => m.Material_Types.Contains(searchModel.Material_Types));
                }
                if (searchModel.Warehouse_Storage_UID != 0)
                {
                    query = query.Where(m => m.Warehouse_Storage_UID == searchModel.Warehouse_Storage_UID);
                }
                List <int> Plant_UIDs = GetOpType(searchModel.Plant_UID).Select(o => o.Organization_UID).ToList();
                if (Plant_UIDs.Count > 0)
                {
                    query = query.Where(m => Plant_UIDs.Contains(m.BG_Organization_UID));
                }

                return(SetMaterialInventoryDetails(query.ToList()));
            }
            else
            {
                var query1 = from M in DataContext.Material_Inventory
                             join warst in DataContext.Warehouse_Storage
                             on M.Warehouse_Storage_UID equals warst.Warehouse_Storage_UID
                             join war in DataContext.Warehouse
                             on warst.Warehouse_UID equals war.Warehouse_UID
                             where warst.Warehouse_Storage_UID == searchModel.Warehouse_Storage_UID
                             group M by new
                {
                    M.Material_UID,
                    war.BG_Organization_UID,
                    war.FunPlant_Organization_UID,
                    war.Warehouse_Type_UID
                } into temp
                    select new
                {
                    matuid      = temp.Key.Material_UID,
                    bguid       = temp.Key.BG_Organization_UID,
                    funplantuid = temp.Key.FunPlant_Organization_UID,
                    typeuid     = temp.Key.Warehouse_Type_UID,
                    totalqty    = temp.Sum(m => m.Inventory_Qty),
                    maxuid      = temp.Max(m => m.Material_Inventory_UID)
                };
                var query = from M in query1
                            join mat in DataContext.Material_Info on
                            M.matuid equals mat.Material_Uid
                            join bgorg in DataContext.System_Organization
                            on M.bguid equals bgorg.Organization_UID
                            join funplantorg in DataContext.System_Organization
                            on M.funplantuid equals funplantorg.Organization_UID
                            join typeenum in DataContext.Enumeration
                            on M.typeuid equals typeenum.Enum_UID
                            join newm in DataContext.Material_Inventory
                            on M.maxuid equals newm.Material_Inventory_UID
                            join users in DataContext.System_Users
                            on newm.Modified_UID equals users.Account_UID
                            select new MaterialInventoryDTO
                {
                    Material_Inventory_UID = M.maxuid,
                    BG                       = bgorg.Organization_Name,
                    Funplant                 = funplantorg.Organization_Name,
                    Warehouse_Type           = typeenum.Enum_Value,
                    Material_Id              = mat.Material_Id,
                    Material_Name            = mat.Material_Name,
                    Material_Types           = mat.Material_Types,
                    Total_Qty                = M.totalqty,
                    ModifyUser               = users.User_Name,
                    Modified_Date            = newm.Modified_Date,
                    Warehouse_Type_UID       = M.typeuid,
                    BG_Organization_UID      = M.bguid,
                    FunPlant_OrganizationUID = M.funplantuid,
                    Warehouse_Storage_UID    = newm.Warehouse_Storage_UID,
                    Material_Uid             = mat.Material_Uid
                };
                if (searchModel.BG_Organization_UID != 0)
                {
                    query = query.Where(m => m.BG_Organization_UID == searchModel.BG_Organization_UID);
                }
                if (searchModel.FunPlant_OrganizationUID != 0)
                {
                    query = query.Where(m => m.FunPlant_OrganizationUID == searchModel.FunPlant_OrganizationUID);
                }
                if (searchModel.Warehouse_Type_UID != 0)
                {
                    query = query.Where(m => m.Warehouse_Type_UID == searchModel.Warehouse_Type_UID);
                }
                if (!string.IsNullOrWhiteSpace(searchModel.Material_Id))
                {
                    query = query.Where(m => m.Material_Id.Contains(searchModel.Material_Id));
                }
                if (!string.IsNullOrWhiteSpace(searchModel.Material_Name))
                {
                    query = query.Where(m => m.Material_Name.Contains(searchModel.Material_Name));
                }
                if (!string.IsNullOrWhiteSpace(searchModel.Material_Types))
                {
                    query = query.Where(m => m.Material_Types.Contains(searchModel.Material_Types));
                }
                if (searchModel.Warehouse_Storage_UID != 0)
                {
                    query = query.Where(m => m.Warehouse_Storage_UID == searchModel.Warehouse_Storage_UID);
                }

                List <int> Plant_UIDs = GetOpType(searchModel.Plant_UID).Select(o => o.Organization_UID).ToList();
                if (Plant_UIDs.Count > 0)
                {
                    query = query.Where(m => Plant_UIDs.Contains(m.BG_Organization_UID));
                }
                return(SetMaterialInventoryDetails(query.ToList()));
            }
        }
예제 #6
0
        public IHttpActionResult DoAllExportMaterialInventoryReprotAPI(MaterialInventoryDTO search)
        {
            var result = storageManageService.DoAllExportMaterialInventoryReprot(search);

            return(Ok(result));
        }