Ejemplo n.º 1
0
        private void Find()
        {
            var workingFilter   = string.Format("(workingfrom is null or workingfrom < '{0:yyyyMMdd HH:mm:ss}') and (workingtill is null or workingtill > '{1:yyyyMMdd HH:mm:ss}')", DateTill, DateFrom);
            var workFilter      = string.Format("workid in (select workid_r from wmsworking where {0})", workingFilter);
            var operationFilter = string.Format("operationcode in (select operationcode_r from wmswork where workid in (select workid_r from wmsworking where {0}))", workingFilter);
            var workerFilter    = string.Format("workerid in (select workerid_r from wmsworking where {0})", workingFilter);

            IEnumerable <Work> works;

            using (var mgr = IoC.Instance.Resolve <IBaseManager <Work> >())
                works = mgr.GetFiltered(workFilter);

            IEnumerable <Working> workings;

            using (var mgr = IoC.Instance.Resolve <IBaseManager <Working> >())
                workings = mgr.GetFiltered(workingFilter);

            IEnumerable <Worker> workers;

            using (var mgr = IoC.Instance.Resolve <IBaseManager <Worker> >())
                workers = mgr.GetFiltered(workerFilter);

            IEnumerable <BillOperation> operations;

            using (var mgr = IoC.Instance.Resolve <IBaseManager <BillOperation> >())
                operations = mgr.GetFiltered(operationFilter);

            // операции становятся
            Operations.Clear();
            foreach (var operation in operations)
            {
                var op = new OperationModel()
                {
                    Id = Operations.Count, Code = operation.OperationCode, Name = operation.OperationName, ClassCode = operation.OperationClassCode
                };
                Operations.Add(op);
            }

            // работники становятся ресурсами
            Resources.Clear();
            foreach (var worker in workers)
            {
                var res = new ResourceModel(worker);
                Resources.Add(res);
            }

            // выполнения становятся событиями
            Appointments.Clear();
            foreach (var working in workings)
            {
                var work      = works.First(i => i.GetKey <decimal>() == working.WORKID_R);
                var operation = Operations.First(i => i.Code == work.OPERATIONCODE_R);
                var worker    = Resources.First(i => i.Id == working.WORKERID_R);
                var label     = Labels.First(i => i.Code == operation.ClassCode);
                var a         = new AppointmentModel(working, operation, worker, label);
                Appointments.Add(a);
            }
        }
Ejemplo n.º 2
0
        public new string Selected()
        {
            var checkedId = Radios.First(radio => radio.GetAttribute("checked") != null).GetAttribute("id");

            return(Labels.First(label => checkedId.Contains(label.GetAttribute("for")))?.Text);
        }