Пример #1
0
        public JsonResult GetDepartmentList(DepartmentSearch item)
        {
            List <SET_CLIENT_DEPARTMENTS_GET_Result> dept_list = new List <SET_CLIENT_DEPARTMENTS_GET_Result>();

            using (DBEntities db = new DBEntities()) {
                dept_list = db.SET_CLIENT_DEPARTMENTS_GET(item.DEPT_NO, item.CLIENT_NO, item.DEPT_NAME).ToList();
            }

            var ret_dept_list = (from d in dept_list
                                 select new {
                @DEPT_NO = d.DEPT_NO,
                @CLIENT_NO = d.CLIENT_NO,
                @CLIENT_NAME = d.CLIENT_NAME,
                @CLIENT_ALIAS = d.CLIENT_ALIAS,
                @DEPT_NAME = d.DEPT_NAME,
                @DEPT_ADDR = d.DEPT_ADDR,
                @DEPT_CONTACT = d.DEPT_CONTACT,
                @DEPT_EMAIL = d.DEPT_EMAIL,
                @DELIVERY_LOCATION = d.DELIVERY_LOCATION,
                @CONTACT_PERSON = d.CONTACT_PERSON,
                @CONTACT_ADDR = d.CONTACT_ADDR,
                @DESIGNATION = d.DESIGNATION,
                @ATTENTION = d.ATTENTION,
                @IS_NEW_TRANSMIT = d.IS_NEW_TRANSMIT,
                @IS_AUTO_ID = d.IS_AUTO_ID,
                @NEXT_ID = d.NEXT_ID,
                @ID_LENGHT = d.ID_LENGHT,
                @ID_PREFIX = d.ID_PREFIX,
            }
                                 );

            return(Json(ret_dept_list, JsonRequestBehavior.AllowGet));
        }
        public async Task OnSearchDepartment()
        {
            if (String.IsNullOrEmpty(DepartmentSearch) || String.IsNullOrWhiteSpace(DepartmentSearch))
            {
                await _confirmationDialogHelper.ErrorWindowShow("Veuillez remplir le champ de recherche.");
            }
            else
            {
                Departments.Clear();
                if (firstNameOrLastName.IsMatch(DepartmentSearch))
                {
                    for (int i = 0; i < GetDepartments.Count; i++)
                    {
                        if (GetDepartments[i].Code.ToLower().Contains(DepartmentSearch.ToLower()))
                        {
                            Departments.Add(GetDepartments[i]);
                        }
                        else if (GetDepartments[i].Name.ToLower().Contains(DepartmentSearch.ToLower()))
                        {
                            Departments.Add(GetDepartments[i]);
                        }
                    }
                }
                else if (fullNameRx.IsMatch(DepartmentSearch))
                {
                    var word      = DepartmentSearch.Split(' ');
                    var countWord = word.Length;

                    foreach (var depart in GetDepartments)
                    {
                        int i        = 0;
                        var fullname = depart.Name;
                        do
                        {
                            if (fullname.ToLower().Contains((word[i]).ToLower()))
                            {
                                if (i == countWord - 1)
                                {
                                    Departments.Add(depart);
                                }
                                i++;
                            }
                            else
                            {
                                break;
                            }
                        } while (i < countWord);
                    }
                }
            }
        }
Пример #3
0
 public async Task <IEnumerable <Department> > GetItems(DepartmentSearch option, CancellationToken token)
 => (await departmentProcessor.GetAsync(option, token)).ToArray();
Пример #4
0
        public Task <IEnumerable <Department> > GetAsync(DepartmentSearch option, CancellationToken token = default(CancellationToken))
        {
            if (!option.CompanyId.HasValue &&
                (option.WithSectionId.HasValue ||
                 option.LoginUserId.HasValue ||
                 (option.Codes?.Any() ?? false)))
            {
                throw new ArgumentException($"{nameof(option.CompanyId)} is required.");
            }

            var query = @"
SELECT      dp.*
          , st.Code     StaffCode
          , st.Name     StaffName
FROM        Department dp
LEFT JOIN   Staff st            ON st.Id        = dp.StaffId
WHERE       dp.Id               = dp.Id";

            if (option.CompanyId.HasValue)
            {
                query += @"
AND         dp.CompanyId        = @CompanyId";
            }
            if (option.Ids?.Any() ?? false)
            {
                query += @"
AND         dp.Id               IN (SELECT Id   FROM @Ids)";
            }
            if (option.SkipIds?.Any() ?? false)
            {
                query += @"
AND         dp.Id           NOT IN (SELECT Id   FROM @SkipIds)";
            }
            if (option.Codes?.Any() ?? false)
            {
                query += @"
AND         dp.Code             IN (SELECT Code FROM @Codes)";
            }
            if (option.WithSectionId.HasValue)
            {
                query += @"
AND         dp.Id           NOT IN (
            SELECT      DISTINCT swd.DepartmentId
            FROM        SectionWithDepartment swd
            WHERE       swd.SectionId <> @WithSectionId
            )";
            }
            if (option.LoginUserId.HasValue)
            {
                query += @"
AND         dp.Id               IN (
            SELECT      DISTINCT swd.DepartmentId
            FROM        SectionWithDepartment swd
            INNER JOIN  SectionWithLoginUser swl    ON swd.SectionId    = swl.SectionId
                                                   AND swl.LoginUserId  = @LoginUserId
            )";
            }
            query += @"
ORDER BY    dp.CompanyId        ASC
          , dp.Code             ASC";
            return(dbHelper.GetItemsAsync <Department>(query, new {
                option.CompanyId,
                option.LoginUserId,
                option.WithSectionId,
                Ids = option.Ids.GetTableParameter(),
                SkipIds = option.SkipIds.GetTableParameter(),
                Codes = option.Codes.GetTableParameter(),
            }, token));
        }
Пример #5
0
 public async Task <IEnumerable <Department> > GetAsync(DepartmentSearch option, CancellationToken token = default(CancellationToken))
 => await departmentNameByCodeQueryProcessor.GetAsync(option, token);