public T GetSetting <T>(string settingName)
        {
            ConditionExpression condition = new ConditionExpression(
                "dia_name",
                ConditionOperator.Equal,
                settingName
                );

            ConditionExpression condition2 = new ConditionExpression(
                "statuscode",
                ConditionOperator.Equal,
                dia_configuration_statuscode.Active
                );

            QueryExpression query = new QueryExpression
            {
                EntityName = "dia_configuration",
                ColumnSet  = new ColumnSet(true)
            };

            query.Criteria.AddCondition(condition);
            query.Criteria.AddCondition(condition2);

            var settings = OrgService.RetrieveMultiple(query).Entities;
            var setting  = settings.FirstOrDefault();

            return(setting.GetAttributeValue <T>("dia_value"));
        }
Esempio n. 2
0
        public List <SchoolResponse> GetSchoolList()
        {
            //从防腐层中拿数据
            List <SchoolResponse> schoolList = new OrgService().GetAllSchoolList().Where(m => m.CompanyId == base.CurrentUser.CompanyId).ToList();

            return(schoolList);
        }
Esempio n. 3
0
        public ApiResult GetList([FromBody] RequestOrgQDTO request)
        {
            OrgService orgService = new OrgService();
            var        ret        = orgService.GetList(request);

            return(ret.ToApiResult());
        }
Esempio n. 4
0
        /// <summary>
        /// Retrieves related field mapping record.
        /// </summary>
        /// <returns></returns>
        private Entity RetrieveFieldMapping()
        {
            var mappingRef = this.Entity.GetAttributeValue <EntityReference>("new_bordereauxfieldmaping");
            var mapping    = OrgService.Retrieve(mappingRef);

            return(mapping);
        }
        /// <summary>
        /// 获取余额退费订单的打印收据详情
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-28</para>
        /// </summary>
        /// <param name="orderId">余额退费订单id</param>
        /// <returns>余额退费打印信息</returns>
        public BalanceRefundReceiptDetailResponse GetPrintReceiptDetail(long orderId)
        {
            var result = new BalanceRefundReceiptDetailResponse();
            //获取余额退费订单信息
            var refundInfo = _viewBalanceRepository.Value.GetBalanceRefundByOrderId(orderId);

            if (refundInfo != null)
            {
                //获取余额退费的打印序号
                var printNo = PrintCounterService.Print(base._schoolId, PrintBillType.BalanceRefund);
                //获取其他费用(扣款合计)
                var refundAmountTypeList = CostService.GetCosts(Dto.TypeCode.BALANCE_FEE);
                var costList             = _tblOdrRefundOrderCost.Value.GetrefundOrderIdByCost(orderId).Select(x => new CostDetail
                {
                    CostName = refundAmountTypeList.FirstOrDefault(k => k.CostId == x.CostId)?.CostName,
                    Amount   = x.Amount
                }).ToList();
                result = new BalanceRefundReceiptDetailResponse
                {
                    OrderNo           = refundInfo.OrderNo,
                    StudentId         = refundInfo.StudentId,
                    PrintNo           = printNo,
                    CreatorName       = refundInfo.CreatorName,
                    Amount            = refundInfo.Amount,
                    TotalDeductAmount = refundInfo.TotalDeductAmount,
                    RealRefundAmount  = refundInfo.RealRefundAmount,
                    RefundDate        = refundInfo.RefundDate,
                    Remark            = refundInfo.Remark,
                    CostList          = costList,
                    SchoolName        = OrgService.GetSchoolBySchoolId(refundInfo.SchoolId)?.SchoolName
                };
            }

            return(result);
        }
Esempio n. 6
0
        public void SetSessionStudent()
        {
            IndexUrl = AppConfig.Domain + "/Wei/StuIndex.aspx";

            var stu = OrgService.GetService().GetStudentInfoByWei(UserOpenId);

            SessionHelper.SaveSession("StudentInfo", JsonHelper.Serialize <OrgStudent>(stu));

            SessionHelper.SaveSession("UserNo", stu.StuId);
            SessionHelper.SaveSession("UserName", stu.StuName);
            UserType = "Student";

            SessionHelper.SaveSession("College", stu.College);
            SessionHelper.SaveSession("Specialty", stu.Specialty);
            SessionHelper.SaveSession("Grade", stu.Grade);
            SessionHelper.SaveSession("StuClass", stu.StuClass);

            var bed = RoomService.GetService().GetStuBedInfoByStuId(stu.StuId);

            SessionHelper.SaveSession("AId", bed.AId);
            SessionHelper.SaveSession("BId", bed.BId);
            SessionHelper.SaveSession("FId", bed.FName.ToString());
            SessionHelper.SaveSession("RId", bed.RId);
            SessionHelper.SaveSession("BedId", bed.Bed.ToString());

            SessionHelper.SaveSession("AName", bed.AName);
            SessionHelper.SaveSession("BName", bed.BName);
            SessionHelper.SaveSession("FName", bed.FName.ToString());
            SessionHelper.SaveSession("RName", bed.RName);
            SessionHelper.SaveSession("BedName", bed.Bed.ToString());
        }
Esempio n. 7
0
        /// <summary>
        /// 根据学生姓名查询学生信息
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间: 2018-10-29 </para>
        /// </summary>
        /// <param name="keyWord">学生名称或手机号</param>
        /// <param name="companyId">当前登录的用户</param>
        /// <returns>返回学生集合</returns>
        public static List <StudentSearchResponse> GetListBykeyWord(string keyWord, string companyId = null)
        {
            // 1、根据学生名称模糊或者电话号码查询学生名称信息
            List <ViewStudent> sList = new ViewStudentRepository().GetViewStudentListByKeyWord(keyWord, companyId);

            List <long> ids = sList.Select(m => m.StudentId).ToList();
            List <TblCstSchoolStudent> cList = new TblCstSchoolStudentRepository().GetSchoolIdByStudentIds(ids);

            // 2、所有的校区信息
            List <SchoolResponse> schoolList = new OrgService().GetAllSchoolList();

            // 3、组合数据
            List <StudentSearchResponse> list = (from stu in sList
                                                 select new StudentSearchResponse
            {
                StudentId = stu.StudentId,
                StudentName = stu.StudentName,
                Sex = stu.Sex,
                SexName = EnumName.GetDescription(typeof(SexEnum), stu.Sex),
                Age = Age.GetAge(stu.Birthday),
                Birthday = stu.Birthday,
                LinkMobile = stu.LinkMobile,
                ContactPersonMobile = string.IsNullOrEmpty(stu.ContactPersonMobile) ? "" : Regex.Replace(stu.ContactPersonMobile, "(\\d{3})\\d{4}(\\d{4})", "$1****$2"),                                     //只截取第一个监护人手机号
                Company = GetCompanyName(stu.StudentId, schoolList, cList),
                SchoolName = GetSchoolNameByStuId(stu.StudentId, schoolList, cList)
            }).ToList();

            return(list.ToList());
        }
Esempio n. 8
0
        public ActionResult GetDormRecords(string studentId, string date)
        {
            if (string.IsNullOrEmpty(date))
            {
                throw new System.Exception("请输入日期");
            }
            if (string.IsNullOrEmpty(studentId))
            {
                throw new System.Exception("请输入学生ID");
            }
            var student = new StudentService().GetById(studentId);

            if (student == null)
            {
                throw new System.Exception("未找到学生");
            }
            var classInfo = new OrgService().GetById(student.ClassId);
            var list      = OriginalReportApp.GetOriginalListBydate(studentId, date);
            var data      = new
            {
                name      = student.Name,
                classname = classInfo.Name,
                records   = list.Select(p => new { p.InOut, p.Date, p.ChannelName })
            };

            return(Result.Success(data));
        }
Esempio n. 9
0
        /// <summary>
        /// 根据学生姓名或手机号查询学生信息
        /// <para>作     者:Huang GaoLiang  </para>
        /// <para>创建时间: 2019-10-29 </para>
        /// </summary>
        /// <param name="keyWord">学生名称或手机号</param>
        /// <returns>返回学生信息</returns>
        public List <StudentSearchResponse> GetSchoolStudentList(string keyWord)
        {
            // 1、根据学生名称模糊或者电话号码查询学生名称信息
            List <ViewStudent> resultList = new ViewStudentRepository().GetViewStudentList(keyWord, this._schoolId);

            // 2、所有的校区信息
            List <SchoolResponse> schoolList = new OrgService().GetAllSchoolList();

            // 3、组合数据
            List <StudentSearchResponse> list = (from stu in resultList

                                                 join s in schoolList on stu.SchoolId equals s.SchoolId

                                                 select new StudentSearchResponse
            {
                StudentId = stu.StudentId,
                StudentName = stu.StudentName,
                HeadFaceUrl = stu.HeadFaceUrl,
                Sex = stu.Sex,
                SexName = EnumName.GetDescription(typeof(SexEnum), stu.Sex),
                Age = Age.GetAge(stu.Birthday),
                Birthday = stu.Birthday,
                LinkMobile = stu.LinkMobile,
                ContactPersonMobile = string.IsNullOrEmpty(stu.ContactPersonMobile) ? "" : Regex.Replace(stu.ContactPersonMobile.Split(',')[0], "(\\d{3})\\d{4}(\\d{4})", "$1****$2"),                                     //只截取第一个监护人手机号
                SchoolId = s.SchoolId,
                SchoolName = s.SchoolName,
                StudentNo = stu.StudentNo
            }).ToList();

            return(list);
        }
Esempio n. 10
0
 public CurrentUserController(TeacherService app
                              , OrgService org, StudentService student, UserService user)
 {
     OrgApp     = org;
     StuApp     = student;
     TeacherApp = app;
     UserApp    = user;
 }
Esempio n. 11
0
 private Service CreateService(SqlDataReader reader)
 {
     return(new Service {
         Id = Convert.ToInt64(reader["id"]),
         Caption = Convert.ToString(reader["caption"]),
         Organization = OrgService.GetOrganizationById(Convert.ToInt64(reader["org_id"]))
     });
 }
Esempio n. 12
0
 public HomeController(ReportAppService reportApp, MenuService moduleApp, DicService dicItemApp, RoleService roleApp, OrgService orgApp)
 {
     ReportApp  = reportApp;
     ModuleApp  = moduleApp;
     DicItemApp = dicItemApp;
     RoleApp    = roleApp;
     OrgApp     = orgApp;
 }
Esempio n. 13
0
        public JsonResult <ResultMessage> GetOrgRoot()
        {
            ResultMessage result = new Models.ViewModels.ResultMessage();
            var           root   = OrgService.GetRoot();

            result.Data       = root;
            result.StatusCode = Models.MessageCodeEnum.Success;
            result.Info       = "";
            return(Json(result));
        }
        /// <summary>
        /// 获取所有校区
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-28</para>
        /// </summary>
        /// <returns>校区Id列表</returns>
        private static List <string> GetSchoolIds()
        {
            List <SchoolResponse> schoolList = new OrgService().GetAllSchoolList();

            if (schoolList != null && schoolList.Count > 0)
            {
                return(schoolList.Select(a => a.SchoolId).Distinct().ToList());
            }
            return(new List <string>());
        }
Esempio n. 15
0
        public JsonResult <ResultMessage> GetOrgsByparent(GetOrgsByParentRequestMessage org)
        {
            ResultMessage result = new Models.ViewModels.ResultMessage();
            var           root   = OrgService.GetOrgsByParent(org.OrgParent);

            result.Data       = root;
            result.StatusCode = Models.MessageCodeEnum.Success;
            result.Info       = "";
            return(Json(result));
        }
Esempio n. 16
0
        private IEnumerable <BordereauImportRow> RetrieveImportRows()
        {
            var rowsQuery = new QueryExpression("new_bordereauximportrow");

            rowsQuery.ColumnSet.AllColumns = true;
            rowsQuery.Criteria.AddCondition("new_bordereauxprocess", ConditionOperator.Equal, this.Id);

            var result = OrgService.RetrieveMultiple(rowsQuery);

            return(result.Entities.Select(e => new BordereauImportRow(OrgService, TracingService, e)));
        }
Esempio n. 17
0
        /// <summary>
        /// 获取家长的学生
        /// <para>作    者:蔡亚康</para>
        /// <para>创建时间:2019-03-08</para>
        /// </summary>
        /// <returns>学生信息集合</returns>
        public List <StudentsResponse> GetStudents()
        {
            List <StudentsResponse> result = new List <StudentsResponse>();

            //1、获取家长的学生信息
            List <TblCstStudent> students = StudentService.GetStudentList(this._userCode)
                                            .Distinct()
                                            .ToList();
            List <long> studentIds = students.Select(t => t.StudentId).ToList();


            //2、取学生对应的校区
            List <TblCstSchoolStudent> schoolStudents = StudentService.GetStudentSchoolList(studentIds);

            //3、获取校区信息
            OrgService            orgService = new OrgService();
            List <SchoolResponse> allSchools = orgService.GetAllSchoolList();

            //4、按学生最近要上的课程进行排序
            List <ViewCompleteStudentAttendance> studentAttendance = StudentTimetableService.GetStudentAttendLately(studentIds);

            //5、整合学生的数据到输出结果
            students.ForEach(item =>
            {
                StudentsResponse resultItem = new StudentsResponse()
                {
                    HeadFaceUrl = item.HeadFaceUrl,
                    StudentId   = item.StudentId,
                    StudentName = item.StudentName,
                };
                resultItem.SchoolList = new List <StudentSchoolListResponse>();
                var query             = from ss in schoolStudents
                                        join school in allSchools on ss.SchoolId equals school.SchoolId
                                        where ss.StudentId == item.StudentId
                                        select new StudentSchoolListResponse()
                {
                    CompanyId       = school.CompanyId,
                    CompanyName     = school.Company,
                    SchoolId        = school.SchoolId,
                    SchoolName      = school.SchoolName,
                    ServerDateTime  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    ClassLatelyTime = this.GetClassLatelyTime(school.SchoolId, item.StudentId, studentAttendance)
                };
                resultItem.SchoolList = query.ToList();
                result.Add(resultItem);
            });

            //6、按最近上课时间排序
            result = result.Where(t => t.SchoolList.Count > 0).OrderBy(t => t.SchoolList.OrderBy(x => x.ClassLatelyTime, new EmptyStringsAreLast())
                                                                       .FirstOrDefault()
                                                                       .ClassLatelyTime, new EmptyStringsAreLast())
                     .ToList();
            return(result);
        }
Esempio n. 18
0
        /// <summary>
        /// 描述:获取单个奖学金券信息
        /// <para>作    者:瞿琦</para>
        /// <para>创建时间:2018-11-2</para>
        /// </summary>
        /// <returns>校长奖学金信息</returns>

        public async Task <CouponResponse> GetCoupon(long couponId)
        {
            var result = await _tblDctCouponRepository.Value.GetCouponInfo(couponId);

            var query = Mapper.Map <CouponResponse>(result);

            var schoolList = new OrgService().GetAllSchoolList();

            query.SchoolName = schoolList.FirstOrDefault(x => x.SchoolId.Trim() == query.SchoolId.Trim())?.SchoolName;
            return(query);
        }
Esempio n. 19
0
        private IEnumerable <PolicyVersion> RetrievePolicyVersions()
        {
            var policyVersionQuery = new QueryExpression("new_policy");

            policyVersionQuery.ColumnSet.AllColumns = true;
            policyVersionQuery.Criteria.AddCondition("new_policy", ConditionOperator.Equal, this.Entity.Id);

            var result = OrgService.RetrieveMultiple(policyVersionQuery);

            return(result.Entities.Select(e => new PolicyVersion(OrgService, TracingService, e)));
        }
Esempio n. 20
0
        private IEnumerable <Entity> RetrieveCovers()
        {
            var coverQuery = new QueryExpression("new_cover");

            coverQuery.ColumnSet.AllColumns = true;

            coverQuery.Criteria.AddCondition("new_riskid", ConditionOperator.Equal, this.Id);

            var result = OrgService.RetrieveMultiple(coverQuery);

            return(result.Entities);
        }
Esempio n. 21
0
        public ActionResult GetLateListByGrade(string gradeId, string startTime, string endTime)
        {
            var objlist   = new List <object>();
            var sysApp    = new OrgService();
            var classList = new List <Org>();
            var divisList = new List <Org>();

            sysApp.GetClassInfosByGradeId(gradeId, ref classList, ref divisList);
            var data = LateReturnReportApp.GetListByDivisList(divisList, classList, startTime, endTime);

            return(Result.Success(data));
        }
Esempio n. 22
0
        public ApiResult Export(RequestOrgQDTO request)
        {
            OrgService orgService = new OrgService();

            var rootpath = ConfigurationManager.AppSettings["rootpath"].ToString();
            var fileid   = "orgList_" + DateTime.Now.ToString("yyyy-MM-dd");
            var filename = fileid + ".xls";

            var filePath = System.IO.Path.Combine(rootpath, filename);

            File.WriteAllBytes(filePath, Encoding.UTF8.GetBytes(orgService.Export(request)));
            return(fileid.ToApiResult());
        }
Esempio n. 23
0
        public void SetSessionThink()
        {
            IndexUrl = AppConfig.Domain + "/Wei/ThinkIndex.aspx";

            var tch = OrgService.GetService().GetTeacherInfoByWei(UserOpenId);

            SessionHelper.SaveSession("TeacherInfo", JsonHelper.Serialize <OrgTeacher>(tch));

            UserNo   = tch.TchId;
            UserName = tch.TchName;
            UserType = "Think";
            //var rid = string.Join(",", RoomService.GetService().GetRIdByTeacher(tch.Department));
            UserDataLimit = tch.Department;//string.IsNullOrEmpty(rid) ? "NULL" : rid;
        }
Esempio n. 24
0
        /// <summary>
        /// 根据城市编号和校区名称查询课程授权列表信息
        /// <para>作    者: Huang GaoLiang </para>
        /// <para>创建时间: 2018-09-18 </para>
        /// </summary>
        /// <param name="companyId">公司编号</param>
        /// <param name="cityId">城市id</param>
        /// <param name="schoolName">校区名称</param>
        /// <returns></returns>
        private static List <SchoolResponse> GetSchoolCourse(string companyId, int cityId, string schoolName)
        {
            List <SchoolResponse> schoolList = new OrgService().GetAllSchoolList().Where(m => m.CompanyId == companyId).ToList();

            if (cityId > 0)
            {
                schoolList = schoolList.Where(m => m.CityId == cityId).ToList();
            }
            if (!string.IsNullOrWhiteSpace(schoolName))
            {
                schoolList = schoolList.Where(m => m.SchoolName.Contains(schoolName)).ToList();
            }

            return(schoolList);
        }
Esempio n. 25
0
        public Entity RetrieveLookupByAttribute(string attrName, object attrValue)
        {
            ThrowIf.Argument.IsNullOrEmpty(attrName, "attrName");

            var targetEntity = this.LookupTargetEntityName;

            if (string.IsNullOrEmpty(targetEntity))
            {
                throw new InvalidPluginExecutionException("Field mapping error, lookup target entity is empty.");
            }

            var targets = OrgService.RetrieveMultipleByAttribute(targetEntity, attrName, attrValue);

            return(targets.FirstOrDefault());
        }
Esempio n. 26
0
        /*
         * 打印序号规则:校区简称+年+5位数字,例如“深圳东海201800001”
         * 每打印一次,就计数一次,连续,不能断号。
         * 分文件计数,目前系统中的打印文件有报班报名表、、报班收据、定金收据、游学营报名表、游学营收据、零售票据。
         * 计数规则如下:校区、年度、单据类型 从00001开始。
         * 校区名称+年度+序号,例如:东海校区+2018+00001
         */

        /// <summary>
        /// 打印并计数
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2019-02-20</para>
        /// </summary>
        /// <param name="schoolId">校区Id</param>
        /// <param name="printBillType">打印类型</param>
        /// <returns>打印序号</returns>
        /// <exception cref="ArgumentNullException">
        /// 校区Id为空;校区未找到;
        /// </exception>
        internal static string Print(string schoolId, PrintBillType printBillType)
        {
            if (string.IsNullOrWhiteSpace(schoolId))
            {
                throw new ArgumentNullException(nameof(schoolId));
            }

            OrgService orgService = new OrgService();

            var allSchoolInfos = orgService.GetAllSchoolList();

            var schoolInfo = allSchoolInfos.FirstOrDefault(m => m.SchoolId == schoolId);

            if (schoolInfo == null)
            {
                throw new ArgumentNullException(nameof(schoolInfo));
            }

            int  year = DateTime.Now.Year;
            byte type = (byte)printBillType;

            lock (LocalThreadLock.GetLockKeyName(LockKeyNames.LOCK_PRINT, schoolId, type.ToString()))
            {
                TblDatPrintCounterRepository printCounterRepository = new TblDatPrintCounterRepository();
                TblDatPrintCounter           counter = printCounterRepository.Get(schoolId, year, type);

                if (counter == null)
                {
                    counter = new TblDatPrintCounter
                    {
                        PrintCounterId = IdGenerator.NextId(),
                        PrintBillType  = type,
                        SchoolId       = schoolId,
                        Counts         = 1,
                        Year           = year,
                        CreateTime     = DateTime.Now
                    };
                    printCounterRepository.Add(counter);
                }
                else
                {
                    counter.Counts++;
                    printCounterRepository.Update(counter);
                }

                return($"{schoolInfo.SchoolName}{year}{counter.Counts.ToString().PadLeft(5, '0')}");
            }
        }
Esempio n. 27
0
        /// <summary>
        /// Retrieves import rows for current process, but only as entity references without any fields.
        /// </summary>
        public IEnumerable <EntityReference> RetrieveImportRowRefs(BordereauImportRowStatus?status = null)
        {
            var rowsQuery = new QueryExpression("new_bordereauximportrow");

            rowsQuery.NoLock = true;

            rowsQuery.Criteria.AddCondition("new_bordereauxprocess", ConditionOperator.Equal, this.Id);
            if (status != null)
            {
                rowsQuery.Criteria.AddCondition("statuscode", ConditionOperator.Equal, (int)status.Value);
            }

            var result = OrgService.RetrieveMultiple(rowsQuery);

            return(result.Entities.Select(e => e.ToEntityReference()));
        }
Esempio n. 28
0
 public JsonResult <ResultMessage> SearchMembers(SearchRequestMessage sr)
 {
     try
     {
         ResultMessage result = new Models.ViewModels.ResultMessage();
         var           root   = OrgService.GetMembers(sr.OrgId);
         result.Data       = root;
         result.StatusCode = Models.MessageCodeEnum.Success;
         result.Info       = "";
         return(Json(result));
     }
     catch (Exception)
     {
         throw;
     }
 }
Esempio n. 29
0
        private IEnumerable <Entity> RetrieveOptionSets()
        {
            var optionSetTableRef = this.GetAttributeFromMapping <EntityReference>("new_optionset");

            if (optionSetTableRef == null)
            {
                return(Enumerable.Empty <Entity>());
            }

            var optQuery = new QueryExpression("new_optionset");

            optQuery.ColumnSet.AllColumns = true;
            optQuery.Criteria.AddCondition("new_optionsettable", ConditionOperator.Equal, optionSetTableRef.Id);

            return(OrgService.RetrieveMultiple(optQuery).Entities);
        }
Esempio n. 30
0
        /// <summary>
        /// Retrieves Bordereau template columns for current template. Returned template columns
        /// are linked to their Field mappings (new_fieldmapping).
        /// </summary>
        /// <returns></returns>
        private IEnumerable <BordereauTemplateColumn> RetrieveTemplateColumns()
        {
            var tempColumnQuery = new QueryExpression("new_bordereauxtemplatecolumn");

            tempColumnQuery.ColumnSet.AllColumns = true;

            tempColumnQuery.Criteria.AddCondition("new_bordereauxtemplate", ConditionOperator.Equal, this.Entity.Id);

            var mappingLink = tempColumnQuery.AddLink("new_fieldmapping", "new_bordereauxfieldmaping", "new_fieldmappingid");

            mappingLink.EntityAlias        = BordereauTemplateColumn.FieldMappingAlias;
            mappingLink.Columns.AllColumns = true;

            var result = OrgService.RetrieveMultiple(tempColumnQuery);

            return(result.Entities.Select(e => new BordereauTemplateColumn(OrgService, TracingService, e)));
        }