public void LevelMatchFilter_EntriesWhichEvaluatesConditionToTrueReturnsMatch()
 {
     string condition = "message=='Hello World!'";
     ConditionFilter filter = new ConditionFilter { Condition = condition, Action = LogFilterResult.Filter };
     filter.Initialize(new InitializationContext(null, null));
     Logger logger = new Logger(null, typeof(ConditionFilterTests));
     ILogEntry trueEntry = new LogEntry(DateTimeOffset.Now, LogLevel.Information, "Hello World!", logger, null);
     ILogEntry falseEntry = new LogEntry(DateTimeOffset.Now, LogLevel.Information, "Goodbye World!", logger, null);
     Assert.AreEqual(LogFilterResult.Filter, filter.Evaluate(trueEntry));
     Assert.AreEqual(LogFilterResult.Neutral, filter.Evaluate(falseEntry));
 }
        /// <summary>
        /// Gets a GenericCollectionViewModel of PurchaseInvoiceViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <PurchaseInvoiceViewModel> Get(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <PurchaseInvoice, long> condition = new ConditionFilter <PurchaseInvoice, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                //Query = (item =>
                //	item.Language == lang)
            };
            var entityCollection = this._PurchaseInvoicesRepository.Get(condition).ToList();
            var modelCollection  = entityCollection.Select(entity => entity.ToModel()).ToList();
            var result           = new GenericCollectionViewModel <PurchaseInvoiceViewModel>
            {
                Collection = modelCollection,
                TotalCount = modelCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            foreach (var invoice in entityCollection)
            {
                var viewModel = result.Collection.FirstOrDefault(i => i.Id == invoice.Id);
                viewModel.Brands = new List <BrandLightViewModel>();
                var ProductList = invoice.Products;
                foreach (var v in ProductList)
                {
                    BrandLightViewModel brandViewModel = new BrandLightViewModel
                    {
                        Id = v.BrandId.Value
                    };
                    Brand b = this._BrandsRepository.Get().FirstOrDefault(bar => bar.Id == brandViewModel.Id);
                    brandViewModel.Name         = b.ChildTranslatedBrands.FirstOrDefault(x => x.Language == lang).Name;
                    brandViewModel.Code         = b.Code;
                    brandViewModel.DisplyedName = $"{b.Code}-{b.ChildTranslatedBrands.FirstOrDefault(x => x.Language == lang).Name}";
                    //brandViewModel.Name = $"{brandViewModel.Code} - {brandViewModel.Name}";
                    viewModel.Brands.Add(brandViewModel);
                }
            }

            return(result);
        }
        /// <summary>
        /// Gets a GenericCollectionViewModel of AccountChartSettingViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <AccountChartSettingViewModel> Get(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <AccountChartSetting, long> condition = new ConditionFilter <AccountChartSetting, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
            };
            var entityCollection = this._AccountChartSettingsRepository.Get(condition).ToList();
            var modelCollection  = entityCollection.Select(entity => entity.ToModel()).ToList();
            var result           = new GenericCollectionViewModel <AccountChartSettingViewModel>
            {
                Collection = modelCollection,
                TotalCount = modelCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 4
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of MobileViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <MobileLightViewModel> GetLightModel(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <Mobile, long> condition = new ConditionFilter <Mobile, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
            };
            var entityCollection = this._MobilesRepository.Get(condition).ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToLightModel()).ToList();
            var result           = new GenericCollectionViewModel <MobileLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = dtoCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
        public GenericCollectionViewModel <EffiencyRaiseHistoryViewModel> Get(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <EfficiencyRaiseHistory, long> condition = new ConditionFilter <EfficiencyRaiseHistory, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize
            };
            var entityCollection = this._IEffiencyRaiseHistory.Get(condition).ToList();
            var modelCollection  = entityCollection.Select(entity => entity.ToModel()).ToList();
            var result           = new GenericCollectionViewModel <EffiencyRaiseHistoryViewModel>
            {
                Collection = modelCollection,
                TotalCount = modelCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 6
0
        /// <summary>
        /// Update an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public SafeViewModel Update(SafeViewModel model)
        {
            this.ThrowExceptionIfExist(model);

            //var entity = model.ToEntity();
            var entity = this._SafesRepository.Get(model.Id);

            entity.Code = model.Code;
            entity.Date = model.Date;
            //entity.AccountChartId = model.AccountChartId;
            entity.BranchId = model.BranchId;

            entity = this._SafesRepository.Update(entity);

            ConditionFilter <Safe, long> conditionFilter = new ConditionFilter <Safe, long>()
            {
                Query = (x =>
                         x.ParentKeySafeId == entity.Id)
            };
            var childs = this._SafesRepository.Get(conditionFilter);

            if (childs.Count() > 0)
            {
                var ar = childs.FirstOrDefault(x => x.Language == Language.Arabic);
                ar.Name        = model.NameAr;
                ar.Description = model.DescriptionAr;
                this._SafesRepository.Update(ar);

                var en = childs.FirstOrDefault(x => x.Language == Language.English);
                en.Name        = model.NameEn;
                en.Description = model.DescriptionEn;
                this._SafesRepository.Update(en);
            }

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            model = entity.ToModel();
            return(model);
        }
 public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
 {
     if (bindingContext.ModelType != typeof (ConditionFilter))
     {
         return false;
     }
     var val = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
     if (val == null)
     {
         return false;
     }
     var queryString = HttpUtility.ParseQueryString(val.RawValue.ToString());
     var conditionFilter = new ConditionFilter
     {
         Page = queryString.GetValueFromQueryString<int>("page"), 
         PageSize = queryString.GetValueFromQueryString<int>("pageSize"),
         OscarWinner = queryString.GetValueFromQueryString<bool>("oscarWinner")
      };
      bindingContext.Model = conditionFilter;
      return true;
      }
        public async Task <IActionResult> Contents(int cxt, string id)
        {
            try {
                var conditionFilter = new ConditionFilter
                {
                    UserId    = id,
                    ContextId = cxt
                };
                var contentReturned = await _recommendationContentService.PerformContentFilteringAsync(conditionFilter);

                return(Json(new
                {
                    data = contentReturned,
                    totalResult = contentReturned.Count()
                }));
            }
            catch (Exception ex)
            {
                return(Json(new { error = "An error occured" }));
            }
        }
        /// <summary>
        /// Gets a GenericCollectionViewModel of DelegateManViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <DelegateManViewModel> Get(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <DelegateMan, long> condition = new ConditionFilter <DelegateMan, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                Query     = (x => x.Language == lang)
            };
            var entityCollection = this._DelegateMansRepository.Get(condition).ToList();
            var modelCollection  = entityCollection.Select(entity => entity.ToModel()).ToList();
            var result           = new GenericCollectionViewModel <DelegateManViewModel>
            {
                Collection = modelCollection,
                TotalCount = modelCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 10
0
        private void ribbonDatePicker1_ValueChanged(object sender, EventArgs e)
        {
            if (!(ribbonDatePicker1.Value.Year == 2000 && ribbonDatePicker1.Value.Month == 1 && ribbonDatePicker1.Value.Day == 1))
            {
                // create a new ConditionFilter
                var filter = new ConditionFilter();

                // configure filter
                filter.Condition1.Operator  = ConditionOperator.LessThanOrEqualTo;
                filter.Condition1.Parameter = ribbonDatePicker1.Value;

                // assign new filter to column
                c1FlexGrid1.Cols["BirthDate"].Filter = filter;
                rbtnClearFilter2.Enabled             = true;
            }
            else
            {
                c1FlexGrid1.Cols["BirthDate"].Filter = null;
                rbtnClearFilter2.Enabled             = false;
            }
        }
Esempio n. 11
0
        private void ribbonNumericBox1_ValueChanged(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(ribbonNumericBox1.Text))
            {
                // create a new ConditionFilter
                var filter = new ConditionFilter();

                // configure filter
                filter.Condition1.Operator  = ConditionOperator.Equals;
                filter.Condition1.Parameter = ribbonNumericBox1.Value;

                // assign new filter to column
                c1FlexGrid1.Cols["EmployeeID"].Filter = filter;
                rbtnClearFilter3.Enabled = true;
            }
            else
            {
                c1FlexGrid1.Cols["EmployeeID"].Filter = null;
                rbtnClearFilter3.Enabled = false;
            }
        }
Esempio n. 12
0
        public string GenerateNewCode()
        {
            long newCode = 0;

            try
            {
                ConditionFilter <Testament, long> condition = new ConditionFilter <Testament, long>
                {
                    Query = x =>
                            x.ParentKeyTestamentId == null &&
                            string.IsNullOrEmpty(x.Code) == false
                    ,
                    Order = Order.Descending
                };

                var z          = this._testamentRepository.Get(condition);
                var lastEntity = z.FirstOrDefault();
                newCode = 1;

                if (lastEntity != null)
                {
                    try
                    {
                        newCode = long.Parse(lastEntity.Code) + 1;
                    }
                    catch
                    {
                        newCode = lastEntity.Id;
                    }
                }

                //entity.Code = newCode.ToString();
            }
            catch
            {
                //entity.Code = entity.Id.ToString();
                newCode = 0;
            }
            return(newCode.ToString());
        }
Esempio n. 13
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of BranchViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <BranchLightViewModel> GetLightModel(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <Branch, int> condition = new ConditionFilter <Branch, int>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                Query     = (x =>
                             x.Language == lang)
            };
            var entityCollection = this._BranchsRepository.Get(condition).ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToLightModel()).ToList();
            var result           = new GenericCollectionViewModel <BranchLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = dtoCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 14
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of ReceivingMethodViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <ReceivingMethodViewModel> Get(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <ReceivingMethod, int> condition = new ConditionFilter <ReceivingMethod, int>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                Query     = (item =>
                             item.Language == lang)
            };
            var entityCollection = this._ReceivingMethodsRepository.Get(condition).ToList();
            var modelCollection  = entityCollection.Select(entity => entity.ToModel()).ToList();
            var result           = new GenericCollectionViewModel <ReceivingMethodViewModel>
            {
                Collection = modelCollection,
                TotalCount = modelCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
        /// <summary>
        /// Update an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public BankMovementCostCentersViewModel Update(BankMovementCostCentersViewModel model)
        {
            this.ThrowExceptionIfExist(model);

            var entity = model.ToEntity();

            entity = this._BankMovementCostCentersRepository.Update(entity);

            ConditionFilter <CostCenter, long> conditionFilter = new ConditionFilter <CostCenter, long>()
            {
                Query = (x =>
                         x.ParentKeyCostCenterId == entity.Id)
            };


            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            model = entity.ToModel();
            return(model);
        }
Esempio n. 16
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of InventoryOpeningBalanceViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <InventoryOpeningBalanceLightViewModel> GetLightModel(int?pageIndex, int?pageSize)
        {
            //var lang = this._languageService.CurrentLanguage;
            ConditionFilter <InventoryOpeningBalance, long> condition = new ConditionFilter <InventoryOpeningBalance, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                //Query = (item =>
                //	item.Language == lang)
            };
            var entityCollection = this._InventoryOpeningBalancesRepository.Get(condition).ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToLightModel()).ToList();
            var result           = new GenericCollectionViewModel <InventoryOpeningBalanceLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = dtoCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 17
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of ProductViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <ProductViewModel> Get(int?pageIndex, int?pageSize)
        {
            //var lang = this._languageService.CurrentLanguage;
            ConditionFilter <Product, long> condition = new ConditionFilter <Product, long>
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                //Query = (item =>
                //	item.Language == lang)
            };
            var entityCollection = this._ProductsRepository.Get(condition).ToList();
            var modelCollection  = entityCollection.Select(entity => entity.ToModel()).ToList();
            var result           = new GenericCollectionViewModel <ProductViewModel>
            {
                Collection = modelCollection,
                TotalCount = modelCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 18
0
        private void ribbonComboBox2_TextChanged(object sender, EventArgs e)
        {
            // has filter text
            if (!string.IsNullOrEmpty(ribbonComboBox2.Text))
            {
                // create a new ConditionFilter
                var filter = new ConditionFilter();

                // configure filter
                filter.Condition1.Operator  = ConditionOperator.BeginsWith;
                filter.Condition1.Parameter = ribbonComboBox2.Text;

                // assign new filter to column
                c1FlexGrid1.Cols["LastName"].Filter = filter;
                rbtnClearFilter1.Enabled            = true;
            }
            else
            {
                c1FlexGrid1.Cols["LastName"].Filter = null;
                rbtnClearFilter1.Enabled            = false;
            }
        }
        /// <summary>
        /// Gets a GenericCollectionViewModel of SalesRebateProductViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel<SalesRebateProductLightViewModel> GetLightModel(int? pageIndex, int? pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter<SalesRebateProduct, long> condition = new ConditionFilter<SalesRebateProduct, long>
            {
                PageIndex = pageIndex,
                PageSize = pageSize,
                Query = (item =>
                    item.Language == lang)
            };
            var entityCollection = this._SalesRebateProductsRepository.Get(condition).ToList();
            var dtoCollection = entityCollection.Select(entity => entity.ToLightModel()).ToList();
            var result = new GenericCollectionViewModel<SalesRebateProductLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = dtoCollection.Count,
                PageIndex = pageIndex,
                PageSize = pageSize
            };

            return result;
        }
        /// <summary>
        /// Update an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ClosedMonthViewModel Update(ClosedMonthViewModel model)
        {
            //this.ThrowExceptionIfExist(model);
            //this.ValidateFromAndTo(model);

            // var entity = model.ToEntity();
            var entity = this._ClosedMonthsRepository.Get(model.Id);

            entity.IsClosed = model.IsClosed;
            entity          = this._ClosedMonthsRepository.Update(entity);

            ConditionFilter <ClosedMonth, long> conditionFilter = new ConditionFilter <ClosedMonth, long>()
            {
                Query = (x =>
                         x.ParentKeyClosedMonthId == entity.Id)
            };
            var childs = this._ClosedMonthsRepository.Get(conditionFilter);

            if (childs.Count() > 0)
            {
                var ar = childs.FirstOrDefault(x => x.Language == Language.Arabic);
                ar.Name        = model.NameAr;
                ar.Description = model.DescriptionAr;
                this._ClosedMonthsRepository.Update(ar);

                var en = childs.FirstOrDefault(x => x.Language == Language.English);
                en.Name        = model.NameEn;
                en.Description = model.DescriptionEn;
                this._ClosedMonthsRepository.Update(en);
            }

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            model = entity.ToModel();
            return(model);
        }
Esempio n. 21
0
        public List <AccountChartLightViewModel> GetAccountCharts(long safeId, long currencyId)
        {
            IEnumerable <AccountChart>        accountCharts;
            List <AccountChartLightViewModel> accountChartViewModels = new List <AccountChartLightViewModel>();
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <Safe, long> condition = new ConditionFilter <Safe, long>
            {
                Query = (item => item.Language == lang)
            };
            var safe = this._SafesRepository.Get().Where(x => x.Id == safeId && x.SafeAccountCharts.Any(s => s.AccountChart.CurrencyId == currencyId));

            if (safe.Count() > 0)
            {
                accountCharts = safe.Select(x => x.SafeAccountCharts).FirstOrDefault().Select(c => c.AccountChart);

                accountChartViewModels = accountCharts.Select(x => x.ToLightModel()).ToList();
                foreach (var item in accountChartViewModels)
                {
                    item.DisplyedName = $"{item.DisplyedName}{accountCharts.FirstOrDefault(x => x.Id == item.Id).ChildTranslatedAccountCharts.FirstOrDefault(x => x.Language == lang).Name}";
                }
            }
            return(accountChartViewModels);
        }
Esempio n. 22
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of BrandViewModel by pagination.
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <BrandLightViewModel> GetLightModel(int?pageIndex, int?pageSize)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <Brand, long> condition = new ConditionFilter <Brand, long>
            {
                PageIndex = pageIndex,

                PageSize = pageSize,
                Query    = (item =>
                            item.ParentKeyBrandId != null &&
                            item.Language == lang &&
                            item.ParentKeyBrand.ParentBrandId == null)
            };
            var entityCollection = this._BrandsRepository.Get(condition).ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToLightModel()).ToList();
            //foreach (var item in dtoCollection)
            //{
            //    foreach (var child in item.ChildBrands)
            //    {
            //        string name = "";
            //        if (lang == Language.Arabic)
            //            name = child.NameAr;
            //        else if (lang == Language.English)
            //            name = child.NameEn;
            //        child.DisplyedName = $"{child.Code}-{name}";
            //    }
            //}
            var result = new GenericCollectionViewModel <BrandLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = dtoCollection.Count,
                PageIndex  = pageIndex,
                PageSize   = pageSize
            };

            return(result);
        }
Esempio n. 23
0
        /// <summary>
        /// Gets a BankMovementViewModel by its id.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public BankMovementViewModel Get(long id)
        {
            var entity = this._BankMovementsRepository.Get(id);
            var model  = entity.ToModel();

            ConditionFilter <BankMovementCostCenters, long> condition = new ConditionFilter <BankMovementCostCenters, long>
            {
                Query = (item =>
                         item.BankMovementId == id)
            };

            var movementCostCenters = _bankMovementCostCentersRepository.Get(condition).ToList();

            if (movementCostCenters.Any())
            {
                model.CostCenters = movementCostCenters.Select(x => x.ToModel()).ToList();
            }


            if (model.JournalTypeId == 13)
            {
                var bankMovements = this._closedChequeRepository.Get().Where(x => x.BankMovementId == id);
                model.Cheques = this._donationsRepository.Get().Where(x => bankMovements.Any(c => c.DonationId == x.Id)).ToList().Select(x => x.ToChecksUnderCollectionModel()).ToList();
            }

            if (entity.ChildTranslatedBankMovements != null)
            {
                model.DescriptionAr = entity.ChildTranslatedBankMovements.FirstOrDefault(e =>
                                                                                         e.Language == Framework.Common.Enums.Language.Arabic).Description;

                model.DescriptionEn = entity.ChildTranslatedBankMovements.FirstOrDefault(e =>
                                                                                         e.Language == Framework.Common.Enums.Language.English).Description;
            }

            return(model);
        }
Esempio n. 24
0
        /// <summary>
        /// عملة النظام
        /// </summary>
        /// <returns></returns>
        public SystemCurrencySettingViewModel GetSystemCurrency()
        {
            var keys   = this._SettingsRepository.Get().ToList();
            var result = new SystemCurrencySettingViewModel
            {
                SystemCurrency = keys.FirstOrDefault(k => k.Key == "SystemCurrency").Value,
            };

            if (string.IsNullOrEmpty(result.SystemCurrency) == false)
            {
                try
                {
                    result.CurrencyId = long.Parse(result.SystemCurrency);
                }
                catch (Exception ex)
                {
                }
            }

            if (result.CurrencyId.HasValue)
            {
                ConditionFilter <Currency, long> condition = new ConditionFilter <Currency, long>
                {
                    Query = (x =>
                             x.Id == result.CurrencyId)
                };
                var currency = this._currencysRepository.Get(condition).FirstOrDefault();

                if (currency != null)
                {
                    result.Currency = currency.ToLightModel();
                }
            }

            return(result);
        }
Esempio n. 25
0
        /// <summary>
        /// Gets a InventoryOpeningBalanceViewModel by vendor id.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <InventoryOpeningBalanceLookupViewModel> GetOpeningBalancesByVendorID(long id)
        {
            ConditionFilter <InventoryOpeningBalance, long> condition = new ConditionFilter <InventoryOpeningBalance, long>()
            {
                Query = (x => x.VendorId == id)
            };
            var entityCollection = this._InventoryOpeningBalancesRepository.Get(condition).ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToLookupModel()).ToList();

            foreach (var item in dtoCollection)
            {
                foreach (var product in item.Products)
                {
                    Brand brand = this._brandsRepository.Get().FirstOrDefault(x => x.Id == product.BrandId);
                    product.BrandName = $"{brand.Code}-{brand.ChildTranslatedBrands.FirstOrDefault(x => x.Language == this._languageService.CurrentLanguage).Name}";
                }
            }
            var result = new GenericCollectionViewModel <InventoryOpeningBalanceLookupViewModel>
            {
                Collection = dtoCollection,
            };

            return(result);
        }
Esempio n. 26
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        //public GenericCollectionViewModel<InventoryOpeningBalanceLightViewModel> GetByFilters(InventoryOpeningBalanceFilterViewModel model)
        //{
        //    var lang = this._languageService.CurrentLanguage;
        //    ConditionFilter<InventoryOpeningBalance, long> condition = new ConditionFilter<InventoryOpeningBalance, long>()
        //    {
        //        Order = Order.Descending
        //    };

        //    if (model.Sort?.Count > 0)
        //    {
        //        if (model.Sort[0].Dir != "desc") condition.Order = Order.Ascending;
        //    }

        //    //model.DateFrom = model.DateFrom.SetTimeToNow();
        //    model.DateTo = model.DateTo.SetTimeToNow();

        //    if (model.DateFrom == null && model.DateTo == null && model.Inventory == null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null);
        //    }
        //    else if (model.DateFrom != null && model.DateTo == null && model.Inventory != null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.CreationDate >= model.DateFrom && x.InventoryId == model.Inventory);
        //    }
        //    else if (model.DateFrom != null && model.DateTo == null && model.Inventory == null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.CreationDate >= model.DateFrom);
        //    }
        //    else if (model.DateFrom == null && model.DateTo != null && model.Inventory != null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.CreationDate <= model.DateTo && x.InventoryId == model.Inventory);
        //    }
        //    else if (model.DateFrom == null && model.DateTo != null && model.Inventory == null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.CreationDate <= model.DateTo);
        //    }

        //    else if (model.DateFrom != null && model.DateTo != null && model.Inventory == null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.CreationDate >= model.DateFrom && x.CreationDate <= model.DateTo);
        //    }
        //    else if (model.DateFrom == null && model.DateTo == null && model.Inventory != null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.InventoryId == model.Inventory);
        //    }
        //    else if (model.DateFrom != null && model.DateTo != null && model.Inventory != null)
        //    {
        //        condition.Query = (x => x.ParentKeyInventoryOpeningBalanceId == null && x.CreationDate >= model.DateFrom && x.CreationDate <= model.DateTo &&
        //                                x.InventoryId == model.Inventory);
        //    }

        //    var entityCollection = this._InventoryOpeningBalancesRepository.Get(condition).ToList();
        //    var dtoCollection = entityCollection.Select(entity => entity.ToLightModel()).ToList();

        //    foreach (var item in entityCollection)
        //    {
        //        var ViewModel = dtoCollection.Find(x => x.Id == item.Id);
        //        ViewModel.Description = item.ChildTranslatedInventoryOpeningBalance.FirstOrDefault(z => z.Language == lang).Description;
        //        if (item.Inventory != null)
        //        {
        //            ViewModel.Inventory = item.Inventory.ChildTranslatedInventorys.First(x => x.Language == lang).Name; ;
        //        }
        //    }
        //    if (model.Filters != null)
        //    {
        //        foreach (var item in model.Filters)
        //        {
        //            switch (item.Field)
        //            {
        //                case "description":
        //                    dtoCollection = dtoCollection.Where(x => x.Description.Contains(item.Value)).ToList();
        //                    break;
        //                case "code":
        //                    dtoCollection = dtoCollection.Where(x => x.Code.Contains(item.Value)).ToList();
        //                    break;
        //                default:
        //                    break;
        //            }
        //        }
        //    }
        //    var total = dtoCollection.Count();
        //    dtoCollection = dtoCollection.Skip(model.PageIndex * model.PageSize).Take(model.PageSize).ToList();
        //    var result = new GenericCollectionViewModel<InventoryOpeningBalanceLightViewModel>
        //    {
        //        Collection = dtoCollection,
        //        TotalCount = total,
        //        PageIndex = model.PageIndex,
        //        PageSize = model.PageSize
        //    };

        //    return result;
        //}


        public GenericCollectionViewModel <InventoryOpeningBalanceLightViewModel> GetByFilter(InventoryOpeningBalanceFilterViewModel model)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <InventoryOpeningBalance, long> condition = new ConditionFilter <InventoryOpeningBalance, long>()
            {
                Order = Order.Descending
            };

            if (model.Sort?.Count > 0)
            {
                if (model.Sort[0].Dir != "desc")
                {
                    condition.Order = Order.Ascending;
                }
            }

            //if (model.DateFrom.HasValue) model.DateFrom = model.DateFrom.SetTimeToNow();
            if (model.DateTo.HasValue)
            {
                model.DateTo = model.DateTo.SetTimeToMax();
            }

            // The IQueryable data to query.
            IQueryable <InventoryOpeningBalance> queryableData = this._InventoryOpeningBalancesRepository.Get(condition);

            queryableData = queryableData.Where(x => x.ParentKeyInventoryOpeningBalanceId.HasValue == false);

            if (string.IsNullOrEmpty(model.Code) == false)
            {
                queryableData = queryableData.Where(x => x.Code.Contains(model.Code));
            }

            if (model.DateFrom.HasValue)
            {
                queryableData = queryableData.Where(x => x.Date >= model.DateFrom.Value);
            }

            if (model.DateTo.HasValue)
            {
                queryableData = queryableData.Where(x => x.Date <= model.DateTo.Value);
            }

            if (model.Inventory.HasValue)
            {
                queryableData = queryableData.Where(x => x.InventoryId == model.Inventory.Value);
            }

            if (string.IsNullOrEmpty(model.Description) == false)
            {
                queryableData = queryableData.Where(x =>
                                                    x.ChildTranslatedInventoryOpeningBalance.FirstOrDefault(y => y.Language == Language.Arabic).Description.Contains(model.Description));
            }

            if (string.IsNullOrEmpty(model.Description) == false)
            {
                queryableData = queryableData.Where(x =>
                                                    x.ChildTranslatedInventoryOpeningBalance.FirstOrDefault(y => y.Language == Language.English).Description.Contains(model.Description));
            }


            var entityCollection = queryableData.ToList();

            foreach (var item in entityCollection)
            {
                item.Description = item.ChildTranslatedInventoryOpeningBalance.FirstOrDefault(z => z.Language == lang).Description;
                if (item.Inventory != null)
                {
                    item.Inventory.Name = item.Inventory.ChildTranslatedInventorys.FirstOrDefault(x => x.Language == lang).Name;
                }
            }
            var dtoCollection = entityCollection.Select(entity => entity.ToLightModel()).ToList();

            var total = dtoCollection.Count();

            dtoCollection = dtoCollection.Skip(model.PageIndex * model.PageSize).Take(model.PageSize).ToList();
            var result = new GenericCollectionViewModel <InventoryOpeningBalanceLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = total,
                PageIndex  = model.PageIndex,
                PageSize   = model.PageSize
            };

            return(result);
        }
Esempio n. 27
0
        /// <summary>
        /// Gets a GenericCollectionViewModel of InventoryOpeningBalanceViewModel by condition.
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <InventoryOpeningBalanceLightViewModel> GetLightModel(ConditionFilter <InventoryOpeningBalance, long> condition)
        {
            var entityCollection = this._InventoryOpeningBalancesRepository.Get(condition).ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToLightModel()).ToList();
            var result           = new GenericCollectionViewModel <InventoryOpeningBalanceLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = dtoCollection.Count,
                PageIndex  = condition.PageIndex,
                PageSize   = condition.PageSize
            };

            return(result);
        }
Esempio n. 28
0
        public GenericCollectionViewModel <ListCostCenterLightViewModel> GetByFilter(CostCenterFilterViewModel model)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <CostCenter, long> condition = new ConditionFilter <CostCenter, long>()
            {
                Order = Order.Descending
            };

            if (model.Sort?.Count > 0)
            {
                if (model.Sort[0].Dir != "desc")
                {
                    condition.Order = Order.Ascending;
                }
            }

            //if (model.DateFrom.HasValue) model.DateFrom = model.DateFrom.SetTimeToNow();
            //if (model.DateTo.HasValue) model.DateTo = model.DateTo.SetTimeToNow();

            // The IQueryable data to query.
            IQueryable <CostCenter> queryableData = this._CostCentersRepository.Get(condition);

            queryableData = queryableData.Where(x => x.Language == lang && x.ParentKeyCostCenter != null);

            if (string.IsNullOrEmpty(model.Code) == false)
            {
                queryableData = queryableData.Where(x => x.ParentKeyCostCenter.Code.Contains(model.Code));
            }

            if (string.IsNullOrEmpty(model.Name) == false)
            {
                queryableData = queryableData.Where(x => x.Name.Contains(model.Name));
            }

            if (model.OpeningCreditFrom.HasValue)
            {
                queryableData = queryableData.Where(x => x.ParentKeyCostCenter.OpeningCredit >= model.OpeningCreditFrom);
            }

            if (model.OpeningCreditTo.HasValue)
            {
                queryableData = queryableData.Where(x => x.ParentKeyCostCenter.OpeningCredit <= model.OpeningCreditTo);
            }

            if (model.CostCenterTypeId.HasValue)
            {
                queryableData = queryableData.Where(x => x.ParentKeyCostCenter.CostCenterTypeId == model.CostCenterTypeId);
            }

            //if (model.DateFrom.HasValue)
            //    queryableData = queryableData.Where(x => x.ParentKeyBank.Date >= model.DateFrom);

            //if (model.DateTo.HasValue)
            //    queryableData = queryableData.Where(x => x.ParentKeyBank.Date <= model.DateTo);

            //if (model.IsActive != null)
            //    queryableData = queryableData.Where(x => x.IsActive);


            var entityCollection = queryableData.ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToListModel()).ToList();

            //foreach (var item in entityCollection)
            //{
            //    //var ViewModel = dtoCollection.Find(x => x.Id == item.ParentKeyCostCenterId);

            //    //ViewModel.Name = item.ChildTranslatedCostCenters.FirstOrDefault(x => x.Language == lang).Name;

            //    //ViewModel.Description = item.ChildTranslatedCostCenters.FirstOrDefault(x => x.Language == lang).Description;

            //    //if (item.ParentKeyBank != null)
            //    //{
            //    //    ViewModel.BankName = item.ParentKeyBank.ChildTranslatedBanks.First(x => x.Language == lang).Name;
            //    //}
            //}
            //if (model.Filters != null)
            //{
            //    foreach (var item in model.Filters)
            //    {
            //        switch (item.Field)
            //        {
            //            case "source":
            //                dtoCollection = dtoCollection.Where(x => x.Source.Contains(item.Value)).ToList();
            //                break;
            //            case "amount":
            //                dtoCollection = dtoCollection.Where(x => x.Amount.Equals(Convert.ToDecimal(item.Value))).ToList();
            //                break;
            //            default:
            //                break;
            //        }
            //    }
            //}
            var total = dtoCollection.Count();

            dtoCollection = dtoCollection.Skip(model.PageIndex * model.PageSize).Take(model.PageSize).ToList();
            var result = new GenericCollectionViewModel <ListCostCenterLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = total,
                PageIndex  = model.PageIndex,
                PageSize   = model.PageSize
            };

            return(result);
        }
Esempio n. 29
0
        public GenericCollectionViewModel <ListCurrencyRateLightViewModel> GetByFilter(CurrencyRateFilterViewModel model)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <CurrencyRate, long> condition = new ConditionFilter <CurrencyRate, long>()
            {
                Order = Framework.Common.Enums.Order.Descending
            };

            if (model.Sort?.Count > 0)
            {
                if (model.Sort[0].Dir != "desc")
                {
                    condition.Order = Framework.Common.Enums.Order.Ascending;
                }
            }

            //if (model.DateFrom.HasValue) model.DateFrom = model.DateFrom.SetTimeToNow();
            if (model.DateTo.HasValue)
            {
                model.DateTo = model.DateTo.SetTimeToMax();
            }

            // The IQueryable data to query.
            IQueryable <CurrencyRate> queryableData = this._CurrencyRatesRepository.Get(condition);

            //queryableData = queryableData.Where(x => x.Language == lang && x.ParentKeyCurrencyRate != null);
            queryableData = queryableData.Where(x => x.ParentKeyCurrencyRate == null);

            if (model.Currency.HasValue)
            {
                queryableData = queryableData.Where(x => x.CurrencyId == model.Currency);
            }

            if (model.ExchangeCurrency.HasValue)
            {
                queryableData = queryableData.Where(x => x.ExchangeCurrencyId == model.ExchangeCurrency);
            }

            if (model.PriceFrom.HasValue)
            {
                queryableData = queryableData.Where(x => x.Price >= model.PriceFrom);
            }

            if (model.PriceTo.HasValue)
            {
                queryableData = queryableData.Where(x => x.Price <= model.PriceTo);
            }

            if (model.DateFrom.HasValue)
            {
                queryableData = queryableData.Where(x => x.Date >= model.DateFrom);
            }

            if (model.DateTo.HasValue)
            {
                queryableData = queryableData.Where(x => x.Date <= model.DateTo);
            }


            var entityCollection = queryableData.ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToListModel()).ToList();

            foreach (var item in entityCollection)
            {
                var ViewModel = dtoCollection.Find(x => x.Id == item.Id);

                ViewModel.Currency = item.Currency.ChildTranslatedCurrencys.FirstOrDefault(x => x.Language == lang).Name;

                ViewModel.ExchangeCurrency = item.ExchangeCurrency.ChildTranslatedCurrencys.FirstOrDefault(x => x.Language == lang).Name;

                //if (item.ParentKeyBank != null)
                //{
                //    ViewModel.BankName = item.ParentKeyBank.ChildTranslatedBanks.First(x => x.Language == lang).Name;
                //}
            }
            //if (model.Filters != null)
            //{
            //    foreach (var item in model.Filters)
            //    {
            //        switch (item.Field)
            //        {
            //            case "source":
            //                dtoCollection = dtoCollection.Where(x => x.Source.Contains(item.Value)).ToList();
            //                break;
            //            case "amount":
            //                dtoCollection = dtoCollection.Where(x => x.Amount.Equals(Convert.ToDecimal(item.Value))).ToList();
            //                break;
            //            default:
            //                break;
            //        }
            //    }
            //}
            var total = dtoCollection.Count();

            dtoCollection = dtoCollection.Skip(model.PageIndex * model.PageSize).Take(model.PageSize).ToList();
            var result = new GenericCollectionViewModel <ListCurrencyRateLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = total,
                PageIndex  = model.PageIndex,
                PageSize   = model.PageSize
            };

            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public GenericCollectionViewModel <ListPurchasLightViewModel> GetByFilter(PurchasInvoiceFilterViewModel model)
        {
            var lang = this._languageService.CurrentLanguage;
            ConditionFilter <PurchaseInvoice, long> condition = new ConditionFilter <PurchaseInvoice, long>()
            {
                Order = Order.Descending
            };

            if (model.Sort?.Count > 0)
            {
                if (model.Sort[0].Dir != "desc")
                {
                    condition.Order = Order.Ascending;
                }
            }

            //if (model.DateFrom.HasValue) model.DateFrom = model.DateFrom.SetTimeToNow();
            if (model.DateTo.HasValue)
            {
                model.DateTo = model.DateTo.SetTimeToMax();
            }

            IQueryable <PurchaseInvoice> queryableData = this._PurchaseInvoicesRepository.Get(condition);

            //queryableData = queryableData.Where(x => x.Language == lang && x.ParentKeyVendor != null);

            if (string.IsNullOrEmpty(model.Id) == false)
            {
                queryableData = queryableData.Where(x => x.Id.ToString().Contains(model.Id));
            }

            if (string.IsNullOrEmpty(model.Code) == false)
            {
                queryableData = queryableData.Where(x => x.Code.Contains(model.Code));
            }

            if (model.Vendor.HasValue)
            {
                queryableData = queryableData.Where(x => x.VendorId == model.Vendor);
            }

            if (model.Inventory.HasValue)
            {
                queryableData = queryableData.Where(x => x.InventoryId == model.Inventory);
            }

            if (model.DateFrom.HasValue)
            {
                queryableData = queryableData.Where(x => x.Date >= model.DateFrom);
            }

            if (model.DateTo.HasValue)
            {
                queryableData = queryableData.Where(x => x.Date <= model.DateTo);
            }

            var entityCollection = queryableData.ToList();
            var dtoCollection    = entityCollection.Select(entity => entity.ToListModel()).ToList();

            foreach (var item in entityCollection)
            {
                var ViewModel = dtoCollection.Find(x => x.Id == item.Id);
                //ViewModel.Amount = item.Amount.ToString() + " " + item.Currency.ChildTranslatedCurrencys.FirstOrDefault(z => z.Language == lang).Name;
                if (item.Vendor != null)
                {
                    ViewModel.Vendor = item.Vendor.ChildTranslatedVendors.First(x => x.Language == lang).Name;
                }
                if (item.Inventory != null)
                {
                    ViewModel.Inventory = item.Inventory.ChildTranslatedInventorys.First(x => x.Language == lang).Name;;
                }
            }

            var total = dtoCollection.Count();

            dtoCollection = dtoCollection.Skip(model.PageIndex * model.PageSize).Take(model.PageSize).ToList();
            var result = new GenericCollectionViewModel <ListPurchasLightViewModel>
            {
                Collection = dtoCollection,
                TotalCount = total,
                PageIndex  = model.PageIndex,
                PageSize   = model.PageSize
            };

            return(result);
        }
Esempio n. 31
0
        /// <summary>
        /// Add an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        /// p<InventoryOpeningBalanceAddViewModel, InventoryOpeningBalance>
        public InventoryOpeningBalanceAddViewModel AddInventoryOpeningBalance(InventoryOpeningBalanceAddViewModel model)
        {
            this._closedMonthsService.ValidateIfMonthIsClosed(model.Date);

            DateTime CurrentDate = DateTime.Now;
            var      entity      = model.ToEntity();

            foreach (var item in entity.Products)
            {
                item.CreationDate = CurrentDate;
                item.InventoryId  = long.Parse(model.InventoryId);
            }
            foreach (var item in entity.InventoryOpeningBalanceCostCenter)
            {
                item.CreationDate = CurrentDate;
            }
            #region translation
            entity.Description  = "";
            entity.CreationDate = CurrentDate;
            entity.Code         = model.Code;
            entity.Language     = Language.None;

            InventoryOpeningBalance InventoryOpeningBalanceAr = new InventoryOpeningBalance();
            InventoryOpeningBalanceAr.Description  = model.DescriptionAr;
            InventoryOpeningBalanceAr.Language     = Language.Arabic;
            InventoryOpeningBalanceAr.CreationDate = CurrentDate;

            InventoryOpeningBalance InventoryOpeningBalanceEn = new InventoryOpeningBalance();
            InventoryOpeningBalanceEn.Description  = model.DescriptionEn;
            InventoryOpeningBalanceEn.Language     = Language.English;
            InventoryOpeningBalanceEn.CreationDate = CurrentDate;

            entity.ChildTranslatedInventoryOpeningBalance.Add(InventoryOpeningBalanceAr);
            entity.ChildTranslatedInventoryOpeningBalance.Add(InventoryOpeningBalanceEn);
            #endregion
            //foreach (var item in entity.Products.ToList())
            //{
            //    ConditionFilter<Product, long> ProductCondition = new ConditionFilter<Product, long>();
            //    long InventoryId = long.Parse(model.InventoryId);
            //    ProductCondition.Query = x => x.InventoryOpeningBalance.InventoryId == InventoryId && x.BrandId==item.BrandId;
            //    var product = this._ProductsRepository.Get(ProductCondition).FirstOrDefault();
            //    if (product != null)
            //    {
            //        product.Quantity += item.Quantity;
            //        this._ProductsRepository.Update(product);
            //        entity.Products.Remove(item);
            //    }
            //}
            entity = this._InventoryOpeningBalancesRepository.Add(entity);

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            #region Generate New Code
            try
            {
                ConditionFilter <InventoryOpeningBalance, long> condition = new ConditionFilter <InventoryOpeningBalance, long>
                {
                    Query = x =>
                            x.ParentKeyInventoryOpeningBalanceId == null &&
                            string.IsNullOrEmpty(x.Code) == false
                    ,
                    Order = Order.Descending
                };

                var  z          = this._InventoryOpeningBalancesRepository.Get(condition);
                var  lastEntity = z.FirstOrDefault();
                long newCode    = 1;

                if (lastEntity != null)
                {
                    try
                    {
                        newCode = long.Parse(lastEntity.Code) + 1;
                    }
                    catch
                    {
                        newCode = entity.Id;
                    }
                }
                entity.Code = newCode.ToString();
            }
            catch
            {
                entity.Code = entity.Id.ToString();
            }

            entity = this._InventoryOpeningBalancesRepository.Update(entity);

            this._unitOfWork.Commit();
            #endregion

            model.Id   = entity.Id;
            model.Code = entity.Code;
            //model = entity.ToModel();
            return(model);
        }
 public void LevelMatchFilter_ThrowsIfLevelIsNotSetAtInitialization()
 {
     ConditionFilter filter = new ConditionFilter();
     filter.Initialize(new InitializationContext(null, null));
 }