public static void UctDennik_BeforeGetList(IWebEasRepositoryBase repository, HierarchyNode node, ref string sql, ref Filter filter, ref string sqlFromAlias, string sqlOrderPart) { if (filter?.Parameters != null) { var parameters = filter.Parameters; bool zau = parameters.ContainsKey("ZAU"); bool notZau = parameters.ContainsKey("NOTZAU"); bool cinnost = parameters.ContainsKey("CINNOST"); var newFilter = new Filter(nameof(UctDennikRptHelper.D_Tenant_Id), repository.Session.TenantIdGuid); if (parameters.ContainsKey(nameof(UctDennikRptHelper.Rok).ToUpper())) { newFilter.AndEq(nameof(UctDennikRptHelper.Rok), parameters[nameof(UctDennikRptHelper.Rok).ToUpper()]); } AddIntOrDateFilterOdDo( newFilter, parameters.ContainsKey("OBDOBIEOD") ? parameters["OBDOBIEOD"].ToString() : string.Empty, parameters.ContainsKey("OBDOBIEDO") ? parameters["OBDOBIEDO"].ToString() : string.Empty, nameof(UctDennikRptHelper.UOMesiac)); AddIntOrDateFilterOdDo( newFilter, parameters.ContainsKey("DATUMOD") ? parameters["DATUMOD"].ToString() : string.Empty, parameters.ContainsKey("DATUMDO") ? parameters["DATUMDO"].ToString() : string.Empty, nameof(UctDennikRptHelper.DatumUctovania)); #region Hodnota Od - Do string valOd = parameters.ContainsKey("HODNOTAOD") ? parameters["HODNOTAOD"].ToString() : string.Empty; string valDo = parameters.ContainsKey("HODNOTADO") ? parameters["HODNOTADO"].ToString() : string.Empty; if (!string.IsNullOrEmpty(valDo) && (string.IsNullOrEmpty(valOd))) { valOd = "0.001"; //Zmena zabezpečí aby sa rátalo od 0 do valDo a nebralo stranu na ktorej je 0. } if (!string.IsNullOrEmpty(valOd) && (string.IsNullOrEmpty(valDo) || valDo == "0" || valOd == valDo)) { newFilter.And(Filter.OrElements(FilterElement.Eq(nameof(UctDennikRptHelper.SumaMD), valOd), FilterElement.Eq(nameof(UctDennikRptHelper.SumaDal), valOd))); } else if (!string.IsNullOrEmpty(valOd) && !string.IsNullOrEmpty(valDo)) { newFilter.And(Filter.OrElements(Filter.AndElements(FilterElement.GreaterThanOrEq(nameof(UctDennikRptHelper.SumaMD), valOd), FilterElement.LessThanOrEq(nameof(UctDennikRptHelper.SumaMD), valDo)), Filter.AndElements(FilterElement.GreaterThanOrEq(nameof(UctDennikRptHelper.SumaDal), valOd), FilterElement.LessThanOrEq(nameof(UctDennikRptHelper.SumaDal), valDo)))); } #endregion AddFilterForUcetByStringOrId(repository, newFilter, parameters); AddStringFilterOdDo( newFilter, parameters.ContainsKey("CISLOINTERNEOD") ? parameters["CISLOINTERNEOD"].ToString() : string.Empty, parameters.ContainsKey("CISLOINTERNEDO") ? parameters["CISLOINTERNEDO"].ToString() : string.Empty, nameof(UctDennikRptHelper.CisloInterne)); if (!zau && notZau || zau && !notZau) { newFilter.AndEq(nameof(UctDennikRptHelper.U), zau ? 1 : 0); } if (cinnost) { newFilter.AndEq(nameof(UctDennikRptHelper.PodnCinn), (parameters["CINNOST"].ToString() == "2") ? 1 : 0); } AddFilterForIDsDkl(newFilter, parameters); AddFilterForIDsUct(newFilter, parameters); filter = AddNoDialogFilters(filter, newFilter, true); } }