public ActionResult UpdateMeasurementUnit(MeasurementUnits UNitDetails)
        {
            try
            {
                MeasurementUnits measurement = new MeasurementUnits();
                measurement                 = db.MeasurementUnits.Find(UNitDetails.MeasurementUnitID);
                measurement.UpdateBy        = AppUtils.GetLoginUserID();
                measurement.UpdateDate      = AppUtils.GetDateTimeNow();
                measurement.UnitName        = UNitDetails.UnitName;
                db.Entry(measurement).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                var measurementUnit =
                    new CustomMeasuremetUnit()
                {
                    MeasurementUnitID     = UNitDetails.MeasurementUnitID,
                    UnitName              = UNitDetails.UnitName,
                    UpdateMeasurementUnit = ISP_ManagementSystemModel.AppUtils.HasAccessInTheList(ISP_ManagementSystemModel.AppUtils.Update_Attendance_Type) ? true : false,
                };
                var JSON = Json(new { UpdateSuccess = true, Units = measurementUnit }, JsonRequestBehavior.AllowGet);
                JSON.MaxJsonLength = int.MaxValue;
                return(JSON);
            }
            catch (Exception ex)
            {
                return(Json(new { UpdateSuccess = false, EMPLH = "" }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 2
0
    public void LoadFromFile()
    {
        //string address = Directory.GetCurrentDirectory() + @"\VTOLVR_ModLoader\mods\Bananas_Per_Second";
        string address = ModFolder;

        Debug.Log("Checking for: " + address);

        if (Directory.Exists(address))
        {
            Debug.Log(address + " exists!");
            try
            {
                Debug.Log("Checking for: " + address + @"\units.json");
                string temp = File.ReadAllText(address + @"\units.json");

                units = JsonConvert.DeserializeObject <MeasurementUnits>(temp);
            }
            catch
            {
                Debug.Log("no json found, making one");
                File.WriteAllText(address + @"\units.json", JsonConvert.SerializeObject(units));
            }
        }
        else
        {
            Debug.Log("Mod folder not found? Make sure the name of the mod folder is \"Bananas_Per_Second\"");
        }
    }
Exemplo n.º 3
0
        private void ExecuteDelete(object parameter)
        {
            int _id = ((Models.MeasurementUnitModel)parameter).ID;

            if (_id != 0)
            {
                int ctr = DatabaseQueries.CountUsedID(CountSPName.CountUsedMeasurementUnitID, _id);
                IMessageBoxService _msgbox = new MessageBoxService();

                if (ctr > 0)
                {
                    _msgbox.ShowMessage(((Models.MeasurementUnitModel)parameter).MeasurementUnit + " is assigned to an Asset and cannot be deleted", "Cannot Delete", GenericMessageBoxButton.OK, GenericMessageBoxIcon.Asterisk);
                    //          _canexecutedelete = false;
                }
                else
                if (_msgbox.ShowMessage("Do you want to delete " + ((Models.MeasurementUnitModel)parameter).MeasurementUnit + "?", "Delete Measurement Unit", GenericMessageBoxButton.OKCancel, GenericMessageBoxIcon.Question) == GenericMessageBoxResult.OK)
                {
                    MeasurementUnits.Remove((Models.MeasurementUnitModel)parameter);
                    DatabaseQueries.DeleteItem(_id, DeleteSPName.DeleteMeasurementUnit);
                }

                _msgbox = null;
            }
            else
            {
                MeasurementUnits.Remove((Models.MeasurementUnitModel)parameter);
            }
        }
Exemplo n.º 4
0
        private void LoadComboBox()
        {
            MeasurementUnits listMeasurementUnits = new MeasurementUnits();

            cbbMeasurementUnit.DataSource    = listMeasurementUnits.ListMeasurementUnits();
            cbbMeasurementUnit.DisplayMember = "Name";
            cbbMeasurementUnit.ValueMember   = "Id";
        }
Exemplo n.º 5
0
        /// <summary>
        /// Запрос выбирающий количество добавленное на склад, отгруженное со склада
        /// и зарезервированное в заказах каждой номенклатуры по выбранному типу оборудования
        /// </summary>
        public static QueryOver <Nomenclature, Nomenclature> QueryAvailableNonSerialEquipmentForRent(EquipmentType type)
        {
            Nomenclature nomenclatureAlias = null;
            WarehouseMovementOperation operationAddAlias = null;

            //Подзапрос выбирающий по номенклатуре количество добавленное на склад
            var subqueryAdded = QueryOver.Of <WarehouseMovementOperation>(() => operationAddAlias)
                                .Where(() => operationAddAlias.Nomenclature.Id == nomenclatureAlias.Id)
                                .Where(Restrictions.IsNotNull(Projections.Property <WarehouseMovementOperation>(o => o.IncomingWarehouse)))
                                .Select(Projections.Sum <WarehouseMovementOperation>(o => o.Amount));

            //Подзапрос выбирающий по номенклатуре количество отгруженное со склада
            var subqueryRemoved = QueryOver.Of <WarehouseMovementOperation>(() => operationAddAlias)
                                  .Where(() => operationAddAlias.Nomenclature.Id == nomenclatureAlias.Id)
                                  .Where(Restrictions.IsNotNull(Projections.Property <WarehouseMovementOperation>(o => o.WriteoffWarehouse)))
                                  .Select(Projections.Sum <WarehouseMovementOperation>(o => o.Amount));

            //Подзапрос выбирающий по номенклатуре количество зарезервированное в заказах до отгрузки со склада
            Vodovoz.Domain.Orders.Order localOrderAlias = null;
            OrderEquipment localOrderEquipmentAlias     = null;
            Equipment      localEquipmentAlias          = null;
            var            subqueryReserved             = QueryOver.Of <Vodovoz.Domain.Orders.Order>(() => localOrderAlias)
                                                          .JoinAlias(() => localOrderAlias.OrderEquipments, () => localOrderEquipmentAlias)
                                                          .JoinAlias(() => localOrderEquipmentAlias.Equipment, () => localEquipmentAlias)
                                                          .Where(() => localEquipmentAlias.Nomenclature.Id == nomenclatureAlias.Id)
                                                          .Where(() => localOrderEquipmentAlias.Direction == Direction.Deliver)
                                                          .Where(() => localOrderAlias.OrderStatus == OrderStatus.Accepted ||
                                                                 localOrderAlias.OrderStatus == OrderStatus.InTravelList ||
                                                                 localOrderAlias.OrderStatus == OrderStatus.OnLoading)
                                                          .Select(Projections.Sum(() => localOrderEquipmentAlias.Count));

            NomenclatureForRentVMNode resultAlias   = null;
            MeasurementUnits          unitAlias     = null;
            EquipmentType             equipmentType = null;

            //Запрос выбирающий количество добавленное на склад, отгруженное со склада
            //и зарезервированное в заказах каждой номенклатуры по выбранному типу оборудования
            var query = QueryOver.Of <Nomenclature>(() => nomenclatureAlias)
                        .JoinAlias(() => nomenclatureAlias.Unit, () => unitAlias)
                        .JoinAlias(() => nomenclatureAlias.Type, () => equipmentType);

            if (type != null)
            {
                query = query.Where(() => nomenclatureAlias.Type.Id == type.Id);
            }

            query = query.SelectList(list => list
                                     .SelectGroup(() => nomenclatureAlias.Id).WithAlias(() => resultAlias.Id)
                                     .Select(() => equipmentType.Id).WithAlias(() => resultAlias.TypeId)
                                     .Select(() => unitAlias.Name).WithAlias(() => resultAlias.UnitName)
                                     .Select(() => unitAlias.Digits).WithAlias(() => resultAlias.UnitDigits)
                                     .SelectSubQuery(subqueryAdded).WithAlias(() => resultAlias.Added)
                                     .SelectSubQuery(subqueryRemoved).WithAlias(() => resultAlias.Removed)
                                     .SelectSubQuery(subqueryReserved).WithAlias(() => resultAlias.Reserved)
                                     )
                    .TransformUsing(Transformers.AliasToBean <NomenclatureForRentVMNode>());
            return(query);
        }
 private void ribbonButton2_Click(object sender, EventArgs e)
 {
     Application.DoEvents();
     selectedUnit = (MeasurementUnits)Enum.Parse(typeof(MeasurementUnits),((RibbonButton)sender).Text,true);
     
     NuGenMediImageCtrl ngMediImage = (NuGenMediImageCtrl)parent;
     ngMediImage.MeasurementUnits = selectedUnit;
     Application.DoEvents();
     this.Close();            
 }
Exemplo n.º 7
0
 private void ExecuteAddNew(object parameter)
 {
     _canexecuteadd = false;
     MeasurementUnits.Add(new Models.MeasurementUnitModel());
     SelectedItemIndex           = MeasurementUnits.Count - 1;
     ScrollToLastItem            = true;
     MeasurementUnitsListEnabled = false;
     AssetLabel    = newassetlabel;
     CloseBtnLabel = _cancellabel;
 }
Exemplo n.º 8
0
        public IProductPrice Create(MeasurementUnits _MeasurementUnit, decimal _Price, IProduct _Product)
        {
            var entity = new ProductPrice()
            {
                MeasurementUnit = _MeasurementUnit,
                Price           = _Price,
                Product         = _Product
            };

            return(entity);
        }
Exemplo n.º 9
0
        private void ribbonButton2_Click(object sender, EventArgs e)
        {
            Application.DoEvents();
            selectedUnit = (MeasurementUnits)Enum.Parse(typeof(MeasurementUnits), ((RibbonButton)sender).Text, true);

            NuGenMediImageCtrl ngMediImage = (NuGenMediImageCtrl)parent;

            ngMediImage.MeasurementUnits = selectedUnit;
            Application.DoEvents();
            this.Close();
        }
Exemplo n.º 10
0
        internal static void RefreshTabWater(Panel_FeedFire panel)
        {
            MeasurementUnits units = InterfaceManager.m_Panel_OptionsMenu.m_State.m_Units;

            panel.m_Label_PotableSupply.text    = Utils.GetLiquidQuantityStringNoOunces(units, WATER.ActualPotable) + "/" + Utils.GetLiquidQuantityStringWithUnitsNoOunces(units, WATER.CapacityPotable);
            panel.m_Label_NonpotableSupply.text = Utils.GetLiquidQuantityStringNoOunces(units, WATER.ActualNonPotable) + "/" + Utils.GetLiquidQuantityStringWithUnitsNoOunces(units, WATER.CapacityNonPotable);
            labelEmptyCapacity.text             = Utils.GetLiquidQuantityStringWithUnitsNoOunces(units, WATER.CapacityEmpty);

            panel.m_Texture_InspectItem.gameObject.SetActive(Cookware != null);
            panel.m_Texture_GearItem.alpha = 0.25f;
        }
Exemplo n.º 11
0
        public SettingsViewModel(INavigationService navigationService, ISettingsService settingsService) : base(navigationService)
        {
            _settingsService = settingsService;

            PropertyChanged += OnSettingsViewModelPropertyChanged;

            //TODO: Glenn - Translate enums!
            MeasurementUnits.Add(DistanceUnitType.Kilometres.ToString());
            MeasurementUnits.Add(DistanceUnitType.Miles.ToString());

            SortTypes.Add(ActivitySort.StartTime.ToString());
            SortTypes.Add(ActivitySort.EndTime.ToString());
        }
        private void LoadDropdowlist()
        {
            Ingredients Listingredients = new Ingredients();

            DropDownListIngredient.DataSource     = Listingredients.ListAll();
            DropDownListIngredient.DataTextField  = "Name";
            DropDownListIngredient.DataValueField = "ID";
            DropDownListIngredient.DataBind();

            MeasurementUnits measurementUnits = new MeasurementUnits();

            DropDownListMeasurementUnit.DataSource     = measurementUnits.ListMeasurementUnits();
            DropDownListMeasurementUnit.DataTextField  = "Name";
            DropDownListMeasurementUnit.DataValueField = "ID";
            DropDownListMeasurementUnit.DataBind();

            DifficultieRanges difficultieRanges = new DifficultieRanges();

            DropDownListRecipeDifficulty.DataSource     = difficultieRanges.ListAllDifficutyRanges();
            DropDownListRecipeDifficulty.DataTextField  = "Difficulty";
            DropDownListRecipeDifficulty.DataValueField = "IdDifficulty";
            DropDownListRecipeDifficulty.DataBind();

            TimesToMake timesToMake = new TimesToMake();

            DropDownListTimeToMake.DataSource     = timesToMake.ListAllTimesToMake();
            DropDownListTimeToMake.DataTextField  = "Time";
            DropDownListTimeToMake.DataValueField = "IdTimeToMake";
            DropDownListTimeToMake.DataBind();

            CostRanges costRanges = new CostRanges();

            DropDownListCostRange.DataSource     = costRanges.ListAllCostRanges();
            DropDownListCostRange.DataTextField  = "Cost";
            DropDownListCostRange.DataValueField = "IDcost";
            DropDownListCostRange.DataBind();

            CuisineTypes cuisineTypes = new CuisineTypes();

            DropDownListCuisineType.DataSource     = cuisineTypes.ListAllCuisineType();
            DropDownListCuisineType.DataTextField  = "CuisineTypeName";
            DropDownListCuisineType.DataValueField = "IdCuisine";
            DropDownListCuisineType.DataBind();

            DishCategories dishCategories = new DishCategories();

            CheckBoxListCategory.DataSource     = dishCategories.ListAllDishCategories();
            CheckBoxListCategory.DataTextField  = "DishCategoryName";
            CheckBoxListCategory.DataValueField = "DishCategoryID";
            CheckBoxListCategory.DataBind();
        }
Exemplo n.º 13
0
        private static double ConverToCelsius(double temperature, MeasurementUnits measurementUnit)
        {
            if (measurementUnit == MeasurementUnits.Fahrenheit)
            {
                return(5.0 / 9.0 * (temperature - 32));
            }

            if (measurementUnit == MeasurementUnits.Kelvin)
            {
                return(temperature - 273.15);
            }

            return(temperature);
        }
Exemplo n.º 14
0
        private static double ConverFromCelsius(double temperature, MeasurementUnits measurementUnit)
        {
            if (measurementUnit == MeasurementUnits.Fahrenheit)
            {
                return(9.0 / 5.0 * temperature + 32);
            }

            if (measurementUnit == MeasurementUnits.Kelvin)
            {
                return(temperature + 273.15);
            }

            return(temperature);
        }
        public async Task <string> ImportAsync(string fileId, MeasurementUnits measurementUnits, string callbackUrl = null)
        {
            var url         = "web-api/operation/import";
            var requestData = new ImportRequest
            {
                FileId           = fileId,
                MeasurementUnits = measurementUnits.ToString(),
                CallbackUrl      = callbackUrl
            };

            var result = await PostOperationAsync(url, requestData);

            return(result);
        }
Exemplo n.º 16
0
 private void ExecuteCancel(object parameter)
 {
     if (!_canexecuteadd)
     {
         _canexecuteadd = true;
         MeasurementUnitsListEnabled = true;
         AssetLabel    = selectedassetlabel;
         CloseBtnLabel = _closelabel;
         MeasurementUnits.Remove(MeasurementUnit);
     }
     else
     {
         DialogResult = false;
         CloseWindow();
     }
 }
        public ActionResult DeleteMeasurement(int MeasurementUnitID)
        {
            MeasurementUnits measureUnit = new MeasurementUnits();

            measureUnit            = db.MeasurementUnits.Find(MeasurementUnitID);
            measureUnit.DeleteBy   = AppUtils.GetLoginUserID();
            measureUnit.DeleteDate = AppUtils.GetDateTimeNow();
            measureUnit.Status     = AppUtils.TableStatusIsDelete;


            db.Entry(measureUnit).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            var JSON = Json(new { DeleteSuccess = true, measureUnitID = measureUnit.MeasurementUnitID }, JsonRequestBehavior.AllowGet);

            JSON.MaxJsonLength = int.MaxValue;
            return(JSON);
        }
        public static IList <SubdivisionRecivedInfo> ItemsBalance(IUnitOfWork uow, Subdivision subdivision)
        {
            if (subdivision.Id == 0)            //Если подразделение не сохранено возвращаем пустой лист.
            {
                return(new List <SubdivisionRecivedInfo>());
            }

            SubdivisionRecivedInfo resultAlias = null;

            SubdivisionIssueOperation subdivisionIssueOperationAlias = null;
            Nomenclature     nomenclatureAlias     = null;
            ItemsType        itemsTypeAlias        = null;
            MeasurementUnits measurementUnitsAlias = null;
            SubdivisionPlace subdivisionPlaceAlias = null;

            IProjection projection = Projections.Sum(Projections.SqlFunction(
                                                         new SQLFunctionTemplate(NHibernateUtil.Int32, "IFNULL(?1, 0) - IFNULL(?2, 0)"),
                                                         NHibernateUtil.Int32,
                                                         Projections.Property <SubdivisionIssueOperation>(x => x.Issued),
                                                         Projections.Property <SubdivisionIssueOperation>(x => x.Returned)
                                                         ));

            var incomeList = uow.Session.QueryOver <SubdivisionIssueOperation>(() => subdivisionIssueOperationAlias)
                             .Where(x => x.Subdivision == subdivision)
                             .JoinAlias(() => subdivisionIssueOperationAlias.Nomenclature, () => nomenclatureAlias)
                             .JoinAlias(() => nomenclatureAlias.Type, () => itemsTypeAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
                             .JoinAlias(() => itemsTypeAlias.Units, () => measurementUnitsAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
                             .JoinAlias(() => subdivisionIssueOperationAlias.SubdivisionPlace, () => subdivisionPlaceAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
                             .SelectList(list => list
                                         .SelectGroup(() => nomenclatureAlias.Id).WithAlias(() => resultAlias.NomenclatureId)
                                         .SelectGroup(() => subdivisionIssueOperationAlias.WearPercent).WithAlias(() => resultAlias.WearPercent)
                                         .SelectGroup(() => subdivisionIssueOperationAlias.SubdivisionPlace.Id).WithAlias(() => resultAlias.PlaceId)
                                         .Select(() => nomenclatureAlias.Name).WithAlias(() => resultAlias.NomeclatureName)
                                         .Select(() => subdivisionPlaceAlias.Name).WithAlias(() => resultAlias.Place)
                                         .SelectMax(() => subdivisionIssueOperationAlias.OperationTime).WithAlias(() => resultAlias.LastReceive)
                                         .Select(projection).WithAlias(() => resultAlias.Amount)
                                         )
                             .Where(Restrictions.Gt(projection, 0))
                             .TransformUsing(Transformers.AliasToBean <SubdivisionRecivedInfo>())
                             .List <SubdivisionRecivedInfo>();

            return(incomeList);
        }
        public ActionResult <DeviceSettings> GetDeviceInfo(string deviceName, MeasurementUnits units = MeasurementUnits.Default)
        {
            // we have had to replace \ with || to get past cors checking, so reinstate \ (NB: we are assuming || is rare in a printer name!)
            deviceName = deviceName.Replace("||", "\\");
            _logger.LogInformation("GET api/v1/printhtml/deviceinfo/{deviceName}/{units}", deviceName, units);

            if (!HandleAuthentication())
            {
                return(Unauthorized());
            }

            if (string.CompareOrdinal(deviceName, "default") != 0 && string.CompareOrdinal(deviceName, "Test printer") != 0 && string.CompareOrdinal(deviceName, "A3 Printer") != 0)
            {
                return(NotFound());
            }

            if (string.CompareOrdinal(deviceName, "default") == 0)
            {
                return(new DeviceSettings {
                    PrinterName = "Test printer", IsDefault = true, PaperSizeName = "A4"
                });
            }

            if (string.CompareOrdinal(deviceName, "systemdefault") == 0)
            {
                return(new DeviceSettings {
                    PrinterName = "Test system default printer", IsDefault = true, PaperSizeName = "A4"
                });
            }

            return(new DeviceSettings {
                PrinterName = deviceName, PaperSizeName = "A5",
                Forms = new string[] { "A3", "A4", "A5" },
                Bins = new string[] { "Upper", "Lower" },
                Attributes = 1,
                Collate = BooleanOption.False,
                Duplex = Duplex.Default,
                IsLocal = true,
                PaperSourceName = "Upper",
                Status = 0,
                Copies = 1,
            });
        }
Exemplo n.º 20
0
        public SettingsViewModel(INavigationService navigationService, ISettingsService settingsService, IOService ioService, IMessenger messenger) : base(navigationService, messenger)
        {
            _settingsService = settingsService;
            _ioService       = ioService;

            PropertyChanged += OnSettingsViewModelPropertyChanged;

            IncrementNumberRounder rounder = new IncrementNumberRounder();

            rounder.Increment            = 0.01;
            rounder.RoundingAlgorithm    = RoundingAlgorithm.RoundHalfUp;
            _decimalFormat.NumberRounder = rounder;

            //TODO: Glenn - Translate enums!
            MeasurementUnits.Add(DistanceUnitType.Kilometres.ToString());
            MeasurementUnits.Add(DistanceUnitType.Miles.ToString());

            SortTypes.Add(ActivitySort.StartTime.ToString());
            SortTypes.Add(ActivitySort.EndTime.ToString());
        }
Exemplo n.º 21
0
        private void AddType(string name, MeasurementUnits units, string[] keyWords)
        {
            var type = ItemsTypes.FirstOrDefault(x => x.Name == name);

            if (type == null)
            {
                type = new ItemsType {
                    Name     = name,
                    Category = ItemTypeCategory.property,
                    Units    = units
                };
                ItemsTypes.Add(type);
            }
            TypeDescription desc = new TypeDescription(type);

            foreach (var word in keyWords)
            {
                KeyWords.Add(word.ToLower(), desc);
            }
        }
Exemplo n.º 22
0
    public override void ModLoaded()
    {
        HarmonyInstance harmony = HarmonyInstance.Create("cheese.bananas");

        harmony.PatchAll(Assembly.GetExecutingAssembly());

        Debug.Log("bananas");

        base.ModLoaded();

        units = new MeasurementUnits();

        units.measurementDistUnits = new List <MeasurementDistUnit>();
        units.measurementDistUnits.Add(new MeasurementDistUnit("Meters", 1, "m"));
        units.measurementDistUnits.Add(new MeasurementDistUnit("NautMiles", 0.000539957f, "nm"));
        units.measurementDistUnits.Add(new MeasurementDistUnit("Feet", 3.28084f, "ft"));
        units.measurementDistUnits.Add(new MeasurementDistUnit("Miles", 0.000621371f, "mi"));
        units.measurementDistUnits.Add(new MeasurementDistUnit("Bananas", 5.618f, "bns"));
        units.measurementDistUnits.Add(new MeasurementDistUnit("Ierdnas", 0.59880239521f, "i"));

        units.measurementAltUnits = new List <MeasurementAltUnit>();
        units.measurementAltUnits.Add(new MeasurementAltUnit("Meters", 1, "m"));
        units.measurementAltUnits.Add(new MeasurementAltUnit("Feet", 3.28084f, "ft"));
        units.measurementAltUnits.Add(new MeasurementAltUnit("Bananas", 5.618f, "bns"));
        units.measurementAltUnits.Add(new MeasurementAltUnit("Ierdnas", 0.59880239521f, "i"));

        units.measurementSpeedUnits = new List <MeasurementSpeedUnit>();
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("MetersPerSecond", 1, "m/s"));
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("KilometersPerHour", 3.6f, "KPH"));
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("Knots", 1.94384f, "kt"));
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("MilesPerHour", 2.23694f, "MPH"));
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("FeetPerSecond", 3.28084f, "ft/s"));
        //units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("Mach", 0.00291545f, "M"));
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("BananasPerSecond", 5.618f, "BPS"));
        units.measurementSpeedUnits.Add(new MeasurementSpeedUnit("IerdnasPerSecond", 0.59880239521f, "I/S"));

        LoadFromFile();
    }
Exemplo n.º 23
0
        private void DrawIOCAImage(Container imc, List <ImageInfo> images, float xStartingInch, float yStartingInch, PrintPageEventArgs e)
        {
            // Each container may hold one image or several, as tiles. Draw each one with consideration to its offset from the original draw point
            foreach (ImageInfo image in images)
            {
                // Get the positioning and scaling info based on the current object environment container
                OBD oaDescriptor = imc.GetStructure <OBD>();
                OBP oaPosition   = imc.GetStructure <OBP>();
                if (oaDescriptor != null && oaPosition != null)
                {
                    // Get sizing info triplets
                    ObjectAreaSize   oaSize = oaDescriptor.GetTriplet <ObjectAreaSize>();
                    MeasurementUnits mu     = oaDescriptor.GetTriplet <MeasurementUnits>();

                    // Get inch origins based on unit scaling
                    int   xUnitOrigin = oaPosition.XOrigin + oaPosition.XContentOrigin;
                    int   yUnitOrigin = oaPosition.YOrigin + oaPosition.YContentOrigin;
                    float xInchOrigin = xStartingInch + (float)(Converters.GetInches(xUnitOrigin, mu.XUnitsPerBase, mu.BaseUnit) * 100);
                    float yInchOrigin = yStartingInch + (float)(Converters.GetInches(yUnitOrigin, mu.YUnitsPerBase, mu.BaseUnit) * 100);

                    // Get inch scaling values
                    double heightInches = Converters.GetInches((int)oaSize.YExtent, mu.YUnitsPerBase, mu.BaseUnit);

                    // We have the inch value and number of pixels, so set DPI based on those values
                    Bitmap bmp = new Bitmap(new MemoryStream(image.Data));
                    float  dpi = (float)Math.Round(bmp.Height / heightInches);
                    bmp.SetResolution(dpi, dpi);

                    e.Graphics.DrawImage(bmp, xInchOrigin, yInchOrigin);
                }
                else
                {
                    throw new NotImplementedException("Image could not be displayed - no OBD/OBP fields found.");
                }
            }
        }
        public ActionResult <PrintHtmlDefaultSettings> GetHtmlPrintDefaults(MeasurementUnits units = MeasurementUnits.Default)
        {
            _logger.LogInformation("GET api/v1/printhtml/htmlPrintDefaults/{units}", units);
            if (!HandleAuthentication())
            {
                return(Unauthorized());
            }

            return(new PrintHtmlDefaultSettings {
                AvailablePrinters = new string[] { "A3 Printer", "Test printer" },

                Device = new DeviceSettings {
                    PrinterName = "Test printer", IsDefault = true, PaperSizeName = "A4",
                    Forms = new string[] { "A3", "A4", "A5" },
                    Bins = new string[] { "Upper", "Lower" },
                    Attributes = 1,
                    Collate = BooleanOption.False,
                    Duplex = Duplex.Default,
                    IsLocal = true,
                    PaperSourceName = "Upper",
                    Status = 0,
                    Copies = 1
                },

                Settings = new HtmlPrintSettings
                {
                    Header = "Default header from server",
                    Footer = "Default footer from server",
                    Page = new PageSettings {
                        Orientation = PageOrientation.Landscape, Margins = { Bottom = "1", Left = "1", Right = "2", Top = "2" }, Units = MeasurementUnits.Inches
                    },
                    ViewScale = -1,
                    PrintBackgroundColorsAndImages = BooleanOption.True
                }
            });
        }
        public JsonResult InsertMeasurementUnit(MeasurementUnits measureUnit)
        {
            try
            {
                db.MeasurementUnits.Add(measureUnit);
                measureUnit.CreateBy   = AppUtils.GetLoginUserID();
                measureUnit.CreateDate = AppUtils.GetDateTimeNow();
                measureUnit.Status     = AppUtils.TableStatusIsActive;
                db.SaveChanges();
                CustomMeasuremetUnit UnitInfo = new CustomMeasuremetUnit
                {
                    MeasurementUnitID     = measureUnit.MeasurementUnitID,
                    UnitName              = measureUnit.UnitName,
                    UpdateMeasurementUnit = ISP_ManagementSystemModel.AppUtils.HasAccessInTheList(ISP_ManagementSystemModel.AppUtils.Update_Measurement_Unit) ? true : false,
                };


                return(Json(new { SuccessInsert = true, UnitInfo = UnitInfo }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { SuccessInsert = false }, JsonRequestBehavior.AllowGet));
            }
        }
 public Measurements()
 {
     this.valueList = new List<Measurement>();
     this.units = new MeasurementUnits();
 }
        protected IQueryOver <WarehouseOperation> ItemsQuery(IUnitOfWork uow)
        {
            StockBalanceJournalNode resultAlias = null;

            WarehouseOperation warehouseExpenseOperationAlias = null;
            WarehouseOperation warehouseIncomeOperationAlias  = null;
            WarehouseOperation warehouseOperationAlias        = null;

            Nomenclature     nomenclatureAlias = null;
            ItemsType        itemTypesAlias    = null;
            MeasurementUnits unitsAlias        = null;
            Size             sizeAlias         = null;
            Size             heightAlias       = null;

            // null == null => null              null <=> null => true
            var expenseQuery = QueryOver.Of(() => warehouseExpenseOperationAlias)
                               .Where(() => warehouseExpenseOperationAlias.Nomenclature.Id == nomenclatureAlias.Id &&
                                      (warehouseExpenseOperationAlias.WearSize.Id == sizeAlias.Id ||
                                       warehouseOperationAlias.WearSize == null && sizeAlias == null) &&
                                      (warehouseExpenseOperationAlias.Height.Id == heightAlias.Id ||
                                       warehouseOperationAlias.Height == null && heightAlias == null) &&
                                      warehouseExpenseOperationAlias.WearPercent == warehouseOperationAlias.WearPercent)
                               .Where(e => e.OperationTime < Filter.Date.AddDays(1));

            if (Filter.Warehouse == null)
            {
                expenseQuery.Where(x => x.ExpenseWarehouse != null);
            }
            else
            {
                expenseQuery.Where(x => x.ExpenseWarehouse == Filter.Warehouse);
            }

            expenseQuery.Select(Projections
                                .Sum(Projections
                                     .Property(() => warehouseExpenseOperationAlias.Amount)));

            var incomeSubQuery = QueryOver.Of(() => warehouseIncomeOperationAlias)
                                 .Where(() => warehouseIncomeOperationAlias.Nomenclature.Id == nomenclatureAlias.Id &&
                                        (warehouseIncomeOperationAlias.WearSize.Id == sizeAlias.Id ||
                                         warehouseOperationAlias.WearSize == null && sizeAlias == null) &&
                                        (warehouseIncomeOperationAlias.Height.Id == heightAlias.Id ||
                                         warehouseOperationAlias.Height == null && heightAlias == null) &&
                                        warehouseIncomeOperationAlias.WearPercent == warehouseOperationAlias.WearPercent)
                                 .Where(e => e.OperationTime < Filter.Date.AddDays(1));

            if (Filter.Warehouse == null)
            {
                incomeSubQuery.Where(x => x.ReceiptWarehouse != null);
            }
            else
            {
                incomeSubQuery.Where(x => x.ReceiptWarehouse == Filter.Warehouse);
            }

            incomeSubQuery.Select(Projections
                                  .Sum(Projections
                                       .Property(() => warehouseIncomeOperationAlias.Amount)));

            var projection = Projections.SqlFunction(
                new SQLFunctionTemplate(NHibernateUtil.Int32, "( IFNULL(?1, 0) - IFNULL(?2, 0) )"),
                NHibernateUtil.Int32,
                Projections.SubQuery(incomeSubQuery),
                Projections.SubQuery(expenseQuery)
                );

            var queryStock = uow.Session.QueryOver(() => warehouseOperationAlias);

            queryStock.Where(Filter.ShowNegativeBalance
                                ? Restrictions.Not(Restrictions.Eq(projection, 0))
                                : Restrictions.Gt(projection, 0));

            if (Filter.ItemTypeCategory != null)
            {
                queryStock.Where(() => itemTypesAlias.Category == Filter.ItemTypeCategory);
            }

            //Если у нас выключена способность показывать общие по всем складам остатки.
            //Но не указан склад мы должны показывать пустую таблицу.
            //Это заведомо ложное условие.
            if (ShowSummary == false && Filter.Warehouse == null)
            {
                queryStock.Where(x => x.Id == -1);
            }

            if (Filter.ProtectionTools != null)
            {
                queryStock.Where(x
                                 => x.Nomenclature.IsIn(Filter.ProtectionTools.MatchedNomenclatures.ToArray()));
            }

            return(queryStock
                   .JoinAlias(() => warehouseOperationAlias.Nomenclature, () => nomenclatureAlias)
                   .JoinAlias(() => nomenclatureAlias.Type, () => itemTypesAlias)
                   .JoinAlias(() => itemTypesAlias.Units, () => unitsAlias)
                   .JoinAlias(() => warehouseOperationAlias.WearSize, () => sizeAlias, JoinType.LeftOuterJoin)
                   .JoinAlias(() => warehouseOperationAlias.Height, () => heightAlias, JoinType.LeftOuterJoin)
                   .Where(GetSearchCriterion(
                              () => nomenclatureAlias.Number,
                              () => nomenclatureAlias.Name,
                              () => sizeAlias.Name,
                              () => heightAlias.Name))

                   .SelectList(list => list
                               .SelectGroup(() => nomenclatureAlias.Id).WithAlias(() => resultAlias.Id)
                               .Select(() => nomenclatureAlias.Name).WithAlias(() => resultAlias.NomenclatureName)
                               .Select(() => nomenclatureAlias.Number).WithAlias(() => resultAlias.NomenclatureNumber)
                               .Select(() => unitsAlias.Name).WithAlias(() => resultAlias.UnitsName)
                               .SelectGroup(() => sizeAlias.Name).WithAlias(() => resultAlias.SizeName)
                               .SelectGroup(() => heightAlias.Name).WithAlias(() => resultAlias.HeightName)
                               .SelectGroup(() => sizeAlias.Id).WithAlias(() => resultAlias.SizeId)
                               .SelectGroup(() => heightAlias.Id).WithAlias(() => resultAlias.HeightId)
                               .SelectGroup(() => warehouseOperationAlias.WearPercent).WithAlias(() => resultAlias.WearPercent)
                               .Select(projection).WithAlias(() => resultAlias.Amount)
                               )
                   .OrderBy(() => nomenclatureAlias.Name).Asc
                   .ThenBy(Projections.SqlFunction(
                               new SQLFunctionTemplate(
                                   NHibernateUtil.String,
                                   "CAST(SUBSTRING_INDEX(?1, '-', 1) AS DECIMAL(5,1))"),
                               NHibernateUtil.String,
                               Projections.Property(() => sizeAlias.Name))).Asc
                   .ThenBy(Projections.SqlFunction(
                               new SQLFunctionTemplate(
                                   NHibernateUtil.String,
                                   "CAST(SUBSTRING_INDEX(?1, '-', 1) AS DECIMAL(5,1))"),
                               NHibernateUtil.String,
                               Projections.Property(() => heightAlias.Name))).Asc
                   .TransformUsing(Transformers.AliasToBean <StockBalanceJournalNode>()));
        }
Exemplo n.º 28
0
        private void ShowMeasurementResult(bool showLabel, ScaleLine.ScaleLineUnit outUnits)
        {
            showLabel = showLabel && CheckResultOnMap.IsChecked.Value;
            if (outUnits != ScaleLine.ScaleLineUnit.Undefined)
            {
                resultUnits = outUnits;
            }

            if (measurementMode == MODE_LENGTH && geometryService.LengthsLastResult != null)
            {
                // Length in meters
                double length = geometryService.LengthsLastResult[0] * UnitsHelper.GetConversionToMeter(resultUnits);

                // Length in selected units
                MeasurementUnits lenUnits = (ListLengthUnits.SelectedItem as ComboBoxItem).Tag as MeasurementUnits;
                TextLengthResult.Text = string.Format("{0}", Math.Round(length * lenUnits.Conversion, 3));

                if (showLabel && this.GraphicsLayer.Graphics.Count > 0)
                {
                    int k = this.GraphicsLayer.Graphics.Count - 1;
                    ESRI.ArcGIS.Client.Geometry.Geometry geometry = this.GraphicsLayer.Graphics[k].Geometry;
                    string  label      = string.Format("Length: {0} {1}", TextLengthResult.Text, lenUnits.Abbreviation);
                    Graphic lblGraphic = new Graphic()
                    {
                        Geometry = geometry.Extent.GetCenter(), Symbol = new TextSymbol()
                        {
                            Text = label, OffsetX = 30, OffsetY = 15, FontSize = 12.0, FontFamily = new FontFamily("Arial Black"), Foreground = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0x00, 0xFF))
                        }
                    };
                    AddGraphic(lblGraphic);
                }
            }
            else if (measurementMode == MODE_AREA && geometryService.AreasAndLengthsLastResult != null)
            {
                // Length in meters
                double length = geometryService.AreasAndLengthsLastResult.Lengths[0] * UnitsHelper.GetConversionToMeter(resultUnits);
                // Area in square meters
                double area = Math.Abs(geometryService.AreasAndLengthsLastResult.Areas[0]) * Math.Pow(UnitsHelper.GetConversionToMeter(resultUnits), 2);

                // Length in selected units
                MeasurementUnits lenUnits = (ListLengthUnits.SelectedItem as ComboBoxItem).Tag as MeasurementUnits;
                TextLengthResult.Text = string.Format("{0}", Math.Round(length * lenUnits.Conversion, 3));

                // Area in selected units
                MeasurementUnits areaUnits = (ListAreaUnits.SelectedItem as ComboBoxItem).Tag as MeasurementUnits;
                TextAreaResult.Text = string.Format("{0}", Math.Round(area * areaUnits.Conversion, 3));

                if (showLabel && this.GraphicsLayer.Graphics.Count > 0)
                {
                    int k = this.GraphicsLayer.Graphics.Count - 1;
                    ESRI.ArcGIS.Client.Geometry.Geometry geometry = this.GraphicsLayer.Graphics[k].Geometry;
                    string  label      = string.Format("Parimeter: {0} {1}\nArea: {2} {3}", TextLengthResult.Text, lenUnits.Abbreviation, TextAreaResult.Text, areaUnits.Abbreviation);
                    Graphic lblGraphic = new Graphic()
                    {
                        Geometry = geometry.Extent.GetCenter(), Symbol = new TextSymbol()
                        {
                            Text = label, OffsetX = 50, OffsetY = 15, FontSize = 12.0, FontFamily = new FontFamily("Arial Black"), Foreground = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0x00, 0x99))
                        }
                    };
                    AddGraphic(lblGraphic);
                }
            }

            this.IsBusy = false;
        }
Exemplo n.º 29
0
        private void AddType(string name, СlothesType category, MeasurementUnits units, string[] keyWords, СlothesType?category2 = null, string[] keywords2 = null)
        {
            var type = ItemsTypes.FirstOrDefault(x => x.Name == name);

            if (type == null)
            {
                type = new ItemsType {
                    Name         = name,
                    Category     = ItemTypeCategory.wear,
                    WearCategory = category,
                    Units        = units,
                };
                switch (category)
                {
                case СlothesType.Wear:
                    type.SizeType   = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер одежды");
                    type.HeightType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Рост");
                    break;

                case СlothesType.Shoes:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер обуви");
                    break;

                case СlothesType.WinterShoes:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер зимней обуви");
                    break;

                case СlothesType.Headgear:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер головного убора");
                    break;

                case СlothesType.Gloves:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер перчаток");
                    break;

                case СlothesType.Mittens:
                    type.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер рукавиц");
                    break;
                }
                ItemsTypes.Add(type);
            }
            TypeDescription desc;

            if (category2 != null)
            {
                var type2 = new ItemsType {
                    Name         = name,
                    Category     = ItemTypeCategory.wear,
                    WearCategory = category2.Value,
                    Units        = units
                };
                switch (category)
                {
                case СlothesType.Wear:
                    type2.SizeType   = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер одежды");
                    type2.HeightType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Рост");
                    break;

                case СlothesType.Shoes:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер обуви");
                    break;

                case СlothesType.WinterShoes:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер зимней обуви");
                    break;

                case СlothesType.Headgear:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер головного убора");
                    break;

                case СlothesType.Gloves:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер перчаток");
                    break;

                case СlothesType.Mittens:
                    type2.SizeType = sizeService.GetSizeType(uow).FirstOrDefault(x => x.Name == "Размер рукавиц");
                    break;
                }
                desc = new TypeDescription(type, type2, keywords2.Select(x => x.ToLower()).ToArray());
            }
            else
            {
                desc = new TypeDescription(type);
            }

            foreach (var word in keyWords)
            {
                KeyWords.Add(word.ToLower(), desc);
            }
        }
 public Measurements()
 {
     this.valueList = new List <Measurement>();
     this.units     = new MeasurementUnits();
 }
Exemplo n.º 31
0
        public IQueryOver <SubdivisionIssueOperation> ItemsQuery(IUnitOfWork unitOfWork)
        {
            SubdivisionBalanceJournalNode resultAlias         = null;
            SubdivisionIssueOperation     issueOperationAlias = null;
            Nomenclature              nomenclatureAlias       = null;
            ItemsType                 itemTypesAlias          = null;
            MeasurementUnits          unitsAlias = null;
            SubdivisionIssueOperation removeIssueOperationAlias = null;
            WarehouseOperation        warehouseOperationAlias   = null;
            Subdivision               subdivisionAlias          = null;

            var expense = unitOfWork.Session.QueryOver(() => issueOperationAlias);

            if (Filter.Subdivision != null)
            {
                expense.Where(e => e.Subdivision == Filter.Subdivision);
            }

            var subQueryRemove = QueryOver.Of(() => removeIssueOperationAlias)
                                 .Where(() => removeIssueOperationAlias.IssuedOperation == issueOperationAlias)
                                 .Select(Projections.Sum <SubdivisionIssueOperation>(o => o.Returned));

            var balance = Projections.SqlFunction(
                new SQLFunctionTemplate(NHibernateUtil.Int32, "( IFNULL(?1, 0) - IFNULL(?2, 0) )"),
                NHibernateUtil.Int32,
                Projections.Property(() => issueOperationAlias.Issued),
                Projections.SubQuery(subQueryRemove));

            if (Filter.Subdivision != null)
            {
                expense
                .JoinAlias(() => issueOperationAlias.Nomenclature, () => nomenclatureAlias)
                .JoinAlias(() => nomenclatureAlias.Type, () => itemTypesAlias)
                .JoinAlias(() => itemTypesAlias.Units, () => unitsAlias)
                .JoinAlias(() => issueOperationAlias.WarehouseOperation, () => warehouseOperationAlias)
                .JoinAlias(() => issueOperationAlias.Subdivision, () => subdivisionAlias)
                .Where(e => e.AutoWriteoffDate == null || e.AutoWriteoffDate > Filter.Date)
                .Where(Restrictions.Not(Restrictions.Eq(balance, 0)))
                .SelectList(list => list
                            .SelectGroup(() => issueOperationAlias.Id).WithAlias(() => resultAlias.Id)
                            .Select(() => nomenclatureAlias.Name).WithAlias(() => resultAlias.NomenclatureName)
                            .Select(() => unitsAlias.Name).WithAlias(() => resultAlias.UnitsName)
                            .Select(() => issueOperationAlias.WearPercent).WithAlias(() => resultAlias.WearPercent)
                            .Select(() => issueOperationAlias.OperationTime).WithAlias(() => resultAlias.IssuedDate)
                            .Select(() => issueOperationAlias.ExpiryOn).WithAlias(() => resultAlias.ExpiryDate)
                            .Select(() => subdivisionAlias.Name).WithAlias(() => resultAlias.SubdivisionName)
                            .Select(balance).WithAlias(() => resultAlias.Balance));
            }
            else
            {
                expense
                .JoinAlias(() => issueOperationAlias.Nomenclature, () => nomenclatureAlias)
                .JoinAlias(() => nomenclatureAlias.Type, () => itemTypesAlias)
                .JoinAlias(() => itemTypesAlias.Units, () => unitsAlias)
                .JoinAlias(() => issueOperationAlias.WarehouseOperation, () => warehouseOperationAlias)
                .JoinAlias(() => issueOperationAlias.Subdivision, () => subdivisionAlias)
                .Where(e => e.AutoWriteoffDate == null || e.AutoWriteoffDate > Filter.Date)
                .Where(Restrictions.Not(Restrictions.Eq(balance, 0)))
                .SelectList(list => list
                            .Select(() => issueOperationAlias.Id).WithAlias(() => resultAlias.Id)
                            .Select(() => nomenclatureAlias.Name).WithAlias(() => resultAlias.NomenclatureName)
                            .Select(() => unitsAlias.Name).WithAlias(() => resultAlias.UnitsName)
                            .Select(() => issueOperationAlias.WearPercent).WithAlias(() => resultAlias.WearPercent)
                            .Select(() => issueOperationAlias.OperationTime).WithAlias(() => resultAlias.IssuedDate)
                            .Select(() => issueOperationAlias.ExpiryOn).WithAlias(() => resultAlias.ExpiryDate)
                            .Select(() => subdivisionAlias.Name).WithAlias(() => resultAlias.SubdivisionName)
                            .Select(balance).WithAlias(() => resultAlias.Balance));
                expense = expense.OrderBy(() => subdivisionAlias.Name).Asc;
            }
            return(expense.TransformUsing(Transformers.AliasToBean <SubdivisionBalanceJournalNode>()));
        }
        protected IQueryOver <WarehouseOperation> ItemsQuery(IUnitOfWork uow)
        {
            StockMovmentsJournalNode resultAlias = null;

            WarehouseOperation warehouseOperationAlias = null;

            ExpenseItem            expenseItemAlias            = null;
            IncomeItem             incomeItemAlias             = null;
            TransferItem           transferItemAlias           = null;
            CollectiveExpenseItem  collectiveExpenseItemAlias  = null;
            WriteoffItem           writeOffItemAlias           = null;
            EmployeeCard           employeeCardAlias           = null;
            EmployeeIssueOperation employeeIssueOperationAlias = null;
            CompletionResultItem   completionResultItemAlias   = null;
            CompletionSourceItem   completionSourceItemAlias   = null;

            Nomenclature     nomenclatureAlias = null;
            ItemsType        itemTypesAlias    = null;
            MeasurementUnits unitsAlias        = null;
            Size             sizeAlias         = null;
            Size             heightAlias       = null;

            var queryStock = uow.Session.QueryOver(() => warehouseOperationAlias)
                             .JoinAlias(() => warehouseOperationAlias.WearSize, () => sizeAlias, JoinType.LeftOuterJoin)
                             .JoinAlias(() => warehouseOperationAlias.Height, () => heightAlias, JoinType.LeftOuterJoin);

            if (Filter.Warehouse != null)
            {
                queryStock.Where(x => x.ReceiptWarehouse == Filter.Warehouse || x.ExpenseWarehouse == Filter.Warehouse);
            }

            if (Filter.StartDate.HasValue)
            {
                queryStock.Where(x => x.OperationTime >= Filter.StartDate.Value);
            }

            if (Filter.EndDate.HasValue)
            {
                queryStock.Where(x => x.OperationTime < Filter.EndDate.Value.AddDays(1));
            }

            if (Filter.StockPosition != null)
            {
                queryStock.Where(x => x.Nomenclature == Filter.StockPosition.Nomenclature);
                queryStock.Where(x => x.WearSize == Filter.StockPosition.WearSize);
                queryStock.Where(x => x.Height == Filter.StockPosition.Height);
                queryStock.Where(x => x.WearPercent == Filter.StockPosition.WearPercent);
            }

            if (Filter.Nomenclature != null)
            {
                queryStock.Where(x => x.Nomenclature == Filter.Nomenclature);
            }

            if (Filter.Size != null)
            {
                queryStock.Where(x => x.WearSize.Id == Filter.Size.Id);
            }

            if (Filter.Height != null)
            {
                queryStock.Where(x => x.Height.Id == Filter.Height.Id);
            }

            IProjection receiptProjection, expenseProjection;

            if (Filter.Warehouse != null)
            {
                receiptProjection = Projections.Conditional(
                    Restrictions.Eq(Projections
                                    .Property <WarehouseOperation>(x => x.ReceiptWarehouse.Id), Filter.Warehouse.Id),
                    Projections.Constant(true),
                    Projections.Constant(false)
                    );
                expenseProjection = Projections.Conditional(
                    Restrictions.Eq(Projections
                                    .Property <WarehouseOperation>(x => x.ExpenseWarehouse.Id), Filter.Warehouse.Id),
                    Projections.Constant(true),
                    Projections.Constant(false)
                    );

                switch (Filter.Direction)
                {
                case DirectionOfOperation.expense:
                    queryStock.Where(x => x.ExpenseWarehouse.Id == Filter.Warehouse.Id);
                    break;

                case DirectionOfOperation.receipt:
                    queryStock.Where(x => x.ReceiptWarehouse.Id == Filter.Warehouse.Id);
                    break;
                }
            }
            else
            {
                receiptProjection = Projections.Conditional(
                    Restrictions.IsNotNull(Projections
                                           .Property <WarehouseOperation>(x => x.ReceiptWarehouse.Id)),
                    Projections.Constant(true),
                    Projections.Constant(false)
                    );
                expenseProjection = Projections.Conditional(
                    Restrictions.IsNotNull(Projections
                                           .Property <WarehouseOperation>(x => x.ExpenseWarehouse.Id)),
                    Projections.Constant(true),
                    Projections.Constant(false)
                    );

                switch (Filter.Direction)
                {
                case DirectionOfOperation.expense:
                    queryStock.Where(x => x.ReceiptWarehouse == null);
                    break;

                case DirectionOfOperation.receipt:
                    queryStock.Where(x => x.ExpenseWarehouse == null);
                    break;
                }
            }

            queryStock
            .JoinAlias(() => warehouseOperationAlias.Nomenclature, () => nomenclatureAlias)
            .JoinAlias(() => nomenclatureAlias.Type, () => itemTypesAlias)
            .JoinAlias(() => itemTypesAlias.Units, () => unitsAlias)
            .JoinEntityAlias(() => expenseItemAlias, () => expenseItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => collectiveExpenseItemAlias, () => collectiveExpenseItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => incomeItemAlias, () => incomeItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => transferItemAlias, () => transferItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => writeOffItemAlias, () => writeOffItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => employeeIssueOperationAlias, () => employeeIssueOperationAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => employeeCardAlias, () => employeeIssueOperationAlias.Employee.Id == employeeCardAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => completionResultItemAlias, () => completionResultItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .JoinEntityAlias(() => completionSourceItemAlias, () => completionSourceItemAlias.WarehouseOperation.Id == warehouseOperationAlias.Id, JoinType.LeftOuterJoin)
            .Where(GetSearchCriterion(
                       () => employeeCardAlias.FirstName,
                       () => employeeCardAlias.LastName,
                       () => employeeCardAlias.Patronymic
                       ));

            if (Filter.CollapseOperationItems)
            {
                queryStock.SelectList(list => list
                                      .SelectGroup(() => warehouseOperationAlias.Nomenclature.Id)
                                      .Select(() => warehouseOperationAlias.OperationTime).WithAlias(() => resultAlias.OperationTime)
                                      .Select(() => unitsAlias.Name).WithAlias(() => resultAlias.UnitsName)
                                      .Select(receiptProjection).WithAlias(() => resultAlias.Receipt)
                                      .Select(expenseProjection).WithAlias(() => resultAlias.Expense)
                                      .SelectSum(() => warehouseOperationAlias.Amount).WithAlias(() => resultAlias.Amount)
                                      .Select(() => nomenclatureAlias.Name).WithAlias(() => resultAlias.NomenclatureName)
                                      .Select(() => employeeCardAlias.FirstName).WithAlias(() => resultAlias.EmployeeName)
                                      .Select(() => employeeCardAlias.LastName).WithAlias(() => resultAlias.EmployeeSurname)
                                      .Select(() => employeeCardAlias.Patronymic).WithAlias(() => resultAlias.EmployeePatronymic)

                                      //Ссылки
                                      .SelectGroup(() => expenseItemAlias.ExpenseDoc.Id).WithAlias(() => resultAlias.ExpenceId)
                                      .SelectGroup(() => collectiveExpenseItemAlias.Document.Id).WithAlias(() => resultAlias.CollectiveExpenseId)
                                      .SelectCount(() => employeeCardAlias.Id).WithAlias(() => resultAlias.NumberOfCollapsedRows)
                                      .SelectGroup(() => incomeItemAlias.Document.Id).WithAlias(() => resultAlias.IncomeId)
                                      .SelectGroup(() => transferItemAlias.Document.Id).WithAlias(() => resultAlias.TransferItemId)
                                      .SelectGroup(() => writeOffItemAlias.Document.Id).WithAlias(() => resultAlias.WriteoffId)
                                      .SelectGroup(() => completionResultItemAlias.Completion.Id).WithAlias(() => resultAlias.CompletionFromResultId)
                                      .SelectGroup(() => completionSourceItemAlias.Completion.Id).WithAlias(() => resultAlias.CompletionFromSourceId)

                                      .SelectGroup(() => sizeAlias.Name).WithAlias(() => resultAlias.WearSizeName)
                                      .SelectGroup(() => heightAlias.Name).WithAlias(() => resultAlias.HeightName)
                                      .SelectGroup(() => warehouseOperationAlias.WearPercent).WithAlias(() => resultAlias.WearPercent)
                                      );
            }
            else
            {
                queryStock.SelectList(list => list
                                      .Select(() => warehouseOperationAlias.Id).WithAlias(() => resultAlias.Id)
                                      .Select(() => warehouseOperationAlias.OperationTime).WithAlias(() => resultAlias.OperationTime)
                                      .Select(() => unitsAlias.Name).WithAlias(() => resultAlias.UnitsName)
                                      .Select(receiptProjection).WithAlias(() => resultAlias.Receipt)
                                      .Select(expenseProjection).WithAlias(() => resultAlias.Expense)
                                      .Select(() => warehouseOperationAlias.Amount).WithAlias(() => resultAlias.Amount)
                                      .Select(() => nomenclatureAlias.Name).WithAlias(() => resultAlias.NomenclatureName)
                                      .Select(() => sizeAlias.Name).WithAlias(() => resultAlias.WearSizeName)
                                      .Select(() => heightAlias.Name).WithAlias(() => resultAlias.HeightName)
                                      .Select(() => warehouseOperationAlias.WearPercent).WithAlias(() => resultAlias.WearPercent)
                                      //Ссылки
                                      .Select(() => expenseItemAlias.Id).WithAlias(() => resultAlias.ExpenceItemId)
                                      .Select(() => expenseItemAlias.ExpenseDoc.Id).WithAlias(() => resultAlias.ExpenceId)
                                      .Select(() => collectiveExpenseItemAlias.Id).WithAlias(() => resultAlias.CollectiveExpenseItemId)
                                      .Select(() => collectiveExpenseItemAlias.Document.Id).WithAlias(() => resultAlias.CollectiveExpenseId)
                                      .Select(() => incomeItemAlias.Id).WithAlias(() => resultAlias.IncomeItemId)
                                      .Select(() => incomeItemAlias.Document.Id).WithAlias(() => resultAlias.IncomeId)
                                      .Select(() => transferItemAlias.Id).WithAlias(() => resultAlias.TransferId)
                                      .Select(() => transferItemAlias.Document.Id).WithAlias(() => resultAlias.TransferItemId)
                                      .Select(() => writeOffItemAlias.Id).WithAlias(() => resultAlias.WriteoffItemId)
                                      .Select(() => writeOffItemAlias.Document.Id).WithAlias(() => resultAlias.WriteoffId)
                                      .Select(() => employeeCardAlias.FirstName).WithAlias(() => resultAlias.EmployeeName)
                                      .Select(() => employeeCardAlias.LastName).WithAlias(() => resultAlias.EmployeeSurname)
                                      .Select(() => employeeCardAlias.Patronymic).WithAlias(() => resultAlias.EmployeePatronymic)
                                      .Select(() => completionResultItemAlias.Id).WithAlias(() => resultAlias.CompletionResultItemId)
                                      .Select(() => completionSourceItemAlias.Id).WithAlias(() => resultAlias.CompletionSourceItemId)
                                      .Select(() => completionSourceItemAlias.Completion.Id).WithAlias(() => resultAlias.CompletionFromSourceId)
                                      .Select(() => completionResultItemAlias.Completion.Id).WithAlias(() => resultAlias.CompletionFromResultId)
                                      );
            }

            return(queryStock
                   .OrderBy(x => x.OperationTime).Desc
                   .ThenBy(x => x.Id).Asc
                   .TransformUsing(Transformers.AliasToBean <StockMovmentsJournalNode>()));
        }