/// <summary> /// Возвращает строку для фильтрации, с id всех компаний до 4-ого уровня. /// </summary> /// <returns></returns> public string GetListOfDepartments() { DBWeb web = this.Site.GetWeb("/"); if (web == null) { throw new Exception("Узел не найден"); } DBList departmentsList = web.GetList(Consts.DepartmentsList); if (departmentsList == null) { throw new Exception($"Не найден список по имени '{Consts.DepartmentsList}'"); } string selectCondition = null; string result = null; List <DBItem> lvlOne = new List <DBItem>(); selectCondition = "[Название] = " + Consts.DepartmentLevelQuery; lvlOne.Add(departmentsList.GetItem(selectCondition)); foreach (DBItem item in lvlOne) { result += item.ID + ","; } List <DBItem> lvlTwo = new List <DBItem>(); lvlTwo = this.GetChildren(lvlOne, departmentsList); foreach (DBItem item in lvlTwo) { result += item.ID + ","; } List <DBItem> lvlThree = new List <DBItem>(); lvlThree = this.GetChildren(lvlTwo, departmentsList); foreach (DBItem item in lvlThree) { result += item.ID + ","; } List <DBItem> lvlFour = new List <DBItem>(); lvlFour = this.GetChildren(lvlThree, departmentsList); foreach (DBItem item in lvlFour) { result += item.ID + ","; } return(result.TrimEnd(',')); }
/// <summary> /// Возвращает имя подразделения по его id /// </summary> /// <param name="departmentID"></param> /// <returns></returns> private string GetDepartmentNameByID(string departmentID) { bool b = int.TryParse(departmentID, out int id); if (!b) { throw new FormatException("Передан неверный id подразделения"); } DBWeb web = this.Site.GetWeb("/"); DBList listDeps = web.GetList("Departments"); DBItem department = listDeps.GetItem(id); return(department.GetStringValue("Название")); }
/// <summary> /// Метод поиска среди "Родительских подразделений" по условию. /// Результат поиска в свойстве Result. /// </summary> /// <param name="depid"></param> private void Scan(string departmentID) { if (string.IsNullOrEmpty(departmentID)) { throw new ArgumentException("message", nameof(departmentID)); } DBWeb web = this.Site.GetWeb("/"); DBList Deps = web.GetList(Consts.GetDBList); string newNode = this.GetParent(departmentID, Deps); while (Result == null) { newNode = this.GetParent(newNode, Deps); } }
void BakiyeGuncelle() { DataTable dtUzak = DBWeb.GetData_Web("select * from Firmalar with(nolock)");// where isnull(Aktarildi,0)=0"); if (dtUzak.Rows.Count == 0) { return; } foreach (DataRow dr in dtUzak.Rows) { string pkFirma = dr["pkFirma"].ToString(); string Devir = dr["Devir"].ToString(); DB.ExecuteSQL("update Firmalar set Devir=" + Devir.Replace(",", ".") + " where pkFirma=" + pkFirma); } //listBoxControl1.Items.Add("Bakiyeler Güncellendi"); formislemleri.Mesajform("Bakiyeler Güncellendi", "S", 200); }
/// <summary> /// Вычисляет доступные группы рассылки для текущего пользователя /// </summary> /// <returns>SQL-запрос</returns> public string GetGroups() { string result = string.Empty; //Список группы рассылки DBList deviringList = this.Site.RootWeb.GetList(Consts.DeliveringGroups.ListName, true); //список «WSSC_Доступ к группам рассылки» DBWeb web = this.Site.GetWeb("dms", true); DBList accessList = web.GetList(Consts.Lists.AccessOfDelivering.ListName, true); //поля в которых нужно проверять текущего юзера DBFieldLookupMulti fieldGroups = accessList.GetField <DBFieldLookupMulti>(Consts.Lists.AccessOfDelivering.Fields.UsersGroups, true); DBFieldLookupMulti fieldUsers = accessList.GetField <DBFieldLookupMulti>(Consts.Lists.AccessOfDelivering.Fields.Users, true); DBFieldLookupMulti fieldDevGroups = accessList.GetField <DBFieldLookupMulti>(Consts.Lists.AccessOfDelivering.Fields.DeliverinGroups, true); //текущий юзер DBUser currentUser = this.Context.CurrentUser; //группы текущего юзера IEnumerable <int> currentUsersGroups = currentUser.AllGroups.Select(group => group.ID); List <string> devGroupsID = new List <string>(); foreach (DBItem accessItem in accessList.GetItems($"{fieldUsers.GetSelectCondition(currentUser.ID)} OR {fieldGroups.GetSelectCondition(currentUsersGroups)}")) { devGroupsID.AddRange(accessItem.GetLookupValues(Consts.Lists.AccessOfDelivering.Fields.DeliverinGroups).Select(lv => lv.LookupID.ToString())); } string devGroupsIDStr = string.Join(",", devGroupsID.Distinct().ToArray()); string condition = devGroupsIDStr.Length > 0 ? $"OR[ID] IN({ devGroupsIDStr})" : string.Empty; result = $@" [ID] IN ( SELECT [ID] FROM {deviringList.TableName} WITH(NOLOCK) WHERE ([{Consts.DeliveringGroups.AccessRestriction}] = 0 OR [{Consts.DeliveringGroups.AccessRestriction}] IS NULL) {condition} ) "; //throw new Exception(result); return(result); }
/// <summary> /// Возвращает id по названию зоны ответственности. /// </summary> /// <param name="zoneName"></param> /// <returns>id для поля "Зона ответственности"</returns> private int ConvertResponsibilityZoneNameToID(string zoneName) { if (zoneName == null) { throw new ArgumentNullException(nameof(zoneName)); } DBWeb web = this.Site.GetWeb("/dms/InvestmentInitiatives"); DBList listRespZones = web.GetList("ResponsibilityZones"); string selectCondition = $"[Название] = N'{zoneName}'"; DBItem responsibilityZone = listRespZones.GetItem(selectCondition); if (responsibilityZone == null) { throw new Exception("Зона ответственности не найдена"); } return(responsibilityZone.ID); }
/// <summary> /// Возвращает id по названию подразделения. /// </summary> /// <param name="zoneName"></param> /// <returns>id для поля "Подразделение-заказчик"</returns> private int ConvertDepartmentNameToID(string departmentName) { if (departmentName == null) { throw new ArgumentNullException(nameof(departmentName)); } DBWeb web = this.Site.GetWeb("/"); DBList listDeps = web.GetList("Departments"); string selectCondition = $"[Название] = N'{departmentName}'"; DBItem department = listDeps.GetItem(selectCondition); if (department == null) { throw new Exception("Подразделение не найдено"); } return(department.ID); }
private void SatislariWebeGonder() { //-- null ise insert 0 ise güncelle 1 ise gönderildi DataTable dt = DB.GetData("select top 100 * from Satislar with(nolock) where GonderildiWS is null "); for (int i = 0; i < dt.Rows.Count; i++) { ArrayList list = new ArrayList(); list.Add(new SqlParameter("@Tarih", Convert.ToDateTime(dt.Rows[i]["Tarih"].ToString()))); list.Add(new SqlParameter("@fkFirma", dt.Rows[i]["fkFirma"].ToString())); list.Add(new SqlParameter("@fkSatisDurumu", dt.Rows[i]["fkSatisDurumu"].ToString())); list.Add(new SqlParameter("@Aciklama", dt.Rows[i]["Aciklama"].ToString())); string sql = @"insert into Satislar (Tarih,fkFirma,fkSatisDurumu,Aciklama) values(@Tarih,@fkFirma,@fkSatisDurumu,@Aciklama)"; string sonuc = DBWeb.ExecuteSQL_Web(sql, list); if (sonuc == "0") { DB.ExecuteSQL("update Satislar set GonderildiWS=1 where pkSatislar=" + dt.Rows[i]["pkSatislar"].ToString()); } } }
private void SatisDetayWebeGonder() { //-- null ise insert 0 ise güncelle 1 ise gönderildi DataTable dt = DB.GetData("select top 100 * from SatisDetay with(nolock) where GonderildiWS is null "); for (int i = 0; i < dt.Rows.Count; i++) { ArrayList list = new ArrayList(); list.Add(new SqlParameter("@fkSatislar", dt.Rows[i]["fkSatislar"].ToString())); list.Add(new SqlParameter("@Tarih", Convert.ToDateTime(dt.Rows[i]["Tarih"].ToString()))); list.Add(new SqlParameter("@fkStokKarti", dt.Rows[i]["fkStokKarti"].ToString())); list.Add(new SqlParameter("@Adet", dt.Rows[i]["Adet"].ToString())); list.Add(new SqlParameter("@SatisFiyati", dt.Rows[i]["SatisFiyati"].ToString().Replace(",", "."))); string sql = @"insert into SatisDetay (Tarih,fkSatislar,fkStokKarti,Adet,SatisFiyati) values(@Tarih,@fkSatislar,@fkStokKarti,@Adet,@SatisFiyati)"; string sonuc = DBWeb.ExecuteSQL_Web(sql, list); if (sonuc == "0") { DB.ExecuteSQL("update SatisDetay set GonderildiWS=1 where pkSatisDetay=" + dt.Rows[i]["pkSatisDetay"].ToString()); } } }