Exemple #1
0
        public static User FromCropioObj(CO_User e)
        {
            User obj = new User()
            {
                Id                    = e.Id,
                Id_External           = e.Id_External,
                CreatedAt             = e.CreatedAt,
                UpdatedAt             = e.UpdatedAt,
                UserName              = e.UserName,
                Email                 = e.Email,
                Password              = e.Password,
                MobilePhone           = e.MobilePhone,
                Position              = e.Position,
                Language              = e.Language,
                TimeZone              = e.TimeZone,
                YieldUnits            = e.YieldUnits,
                Status                = e.Status,
                IsDispatcher          = e.IsDispatcher,
                IsDriver              = e.IsDriver,
                Rfid                  = e.Rfid,
                AdditionalInfo        = e.AdditionalInfo,
                Description           = e.Description,
                CropioCurrentSignInAt = e.CropioCurrentSignInAt,
                CropioLastSignInAt    = e.CropioLastSignInAt,
                AuthMethod            = e.AuthMethod
            };

            return(obj);
        }
Exemple #2
0
        public static void ShowFields(this CropioApi cropio)
        {
            Console.WriteLine("Получение полей.");
            List <CO_Field> fields = cropio.GetObjects <CO_Field>(cropio.GetObjectsIds <CO_Field>().Data).Data;

            //
            Console.WriteLine("Получение групп полей.");
            List <CO_FieldGroup> fieldGroups = cropio.GetObjects <CO_FieldGroup>(cropio.GetObjectsIds <CO_FieldGroup>().Data).Data;

            //
            Console.WriteLine("Получение елементов истории.");
            List <CO_History_Item> historyItems = cropio.GetObjects <CO_History_Item>(cropio.GetObjectsIds <CO_History_Item>().Data).Data;

            //
            Console.WriteLine("Получение елементов истории инвентаря.");
            List <CO_History_InventoryItem> inventoryHistoryItems = cropio.GetObjects <CO_History_InventoryItem>(cropio.GetObjectsIds <CO_History_InventoryItem>().Data).Data;

            //
            Console.WriteLine("Получение культур.");
            List <CO_Crop> crops = cropio.GetObjects <CO_Crop>(cropio.GetObjectsIds <CO_Crop>().Data).Data;

            //
            Console.WriteLine("Получение тревог.");
            List <CO_Alert> alerts = cropio.GetObjects <CO_Alert>(cropio.GetObjectsIds <CO_Alert>().Data).Data;

            //
            Console.WriteLine("Получение типов тревог.");
            List <CO_AlertType> alertTypes = cropio.GetObjects <CO_AlertType>(cropio.GetObjectsIds <CO_AlertType>().Data).Data;

            //
            Console.WriteLine("Получение пользователей.");
            List <CO_User> users = cropio.GetObjects <CO_User>(cropio.GetObjectsIds <CO_User>().Data).Data;

            //
            Console.WriteLine("Получение информации завершено\n\n.");

            const String filePath = @"..\..\..\DatEx.Cropio.Log\Output.txt";

            foreach (CO_Field f in fields)
            {
                CO_FieldGroup   fg = fieldGroups.FirstOrDefault(x => x.Id == f.Id_FieldGroup);
                CO_History_Item hi = historyItems.FirstOrDefault(x => x.Id_Field == f.Id && x.Year == DateTime.Now.Year);
                List <CO_History_InventoryItem> ih = inventoryHistoryItems.Where(x => x.HistoryableType == CE_HistoryableType.Field && x.Id_Historyable == f.Id).ToList();
                List <CO_Alert> al = alerts.Where(x => x.AlertableObjectType == CE_AlertableObjectType.Field && x.Id_AlertableObject == f.Id).ToList();


                String cropName = String.Empty;
                if (hi.Id_Crop != null)
                {
                    CO_Crop crop = crops.FirstOrDefault(x => x.Id == hi.Id_Crop);
                    cropName = crop == null ? "—" : crop.Name;
                }
                StringBuilder sb = new StringBuilder()
                                   .Append(String.Format("\n ─────────────────────── {0, -5} ────────────────────────────────────\n", f.Id))
                                   .Append("\n End time:                ").Append(f.EndTime)
                                   .Append("\n Название поля:           ").Append(f.Name)
                                   .Append("\n Группа полей:            ").Append(fg.Name)
                                   .Append("\n Область:                 ").Append(f.AdministrativeAreaName)
                                   .Append("\n Район:                   ").Append(f.SubadministrativeAreaName)
                                   .Append("\n Село:                    ").Append(f.Locality)
                                   .Append("\n Описание:                ").Append(f.Description)
                                   .Append("\n Культура:                ")
                                   .Append("\n    Название:             ").Append(cropName)
                                   .Append("\n    Сорт:                 ").Append(hi.Variety)
                                   .Append("\n    Урожайность:          ").Append(hi.Productivity).Append(" ц/га")
                                   .Append("\n    Оценка урожайности:   ").Append(hi.ProductivityEstimate).Append(" ц/га")
                                   .Append("\n    Обработка почвы:      ").Append(hi.TillType)
                                   .Append("\n    Тип орошения          ").Append("?")
                                   .Append("\n    Дата сева:            ").Append(hi.SowingDate)
                                   .Append("\n    Дата уборки:          ").Append(hi.HarvestingDate)
                                   .Append("\n    Дополнительная инфо.: ").Append(hi.AdditionalInfo)
                                   .Append("\n Площадь:                 ")
                                   .Append("\n    Обрабатываемая:       ").Append(f.TillableArea).Append(" га")
                                   .Append("\n    Официальная:          ").Append(f.LegalArea).Append(" га")
                                   .Append("\n    Расчетная:            ").Append(f.CalculatedArea).Append(" га")
                                   .Append("\n ■ Применение инвентаря:  ")
                                   .Append("\n {");
                Int32 itemNo = 0;
                foreach (CO_History_InventoryItem i in ih)
                {
                    sb
                    .Append("\n    ♦♦♦ ─────────────────       ").Append(itemNo++)
                    .Append("\n    ID:                       ").Append(i.Id)
                    .Append("\n    CreatedAt:                ").Append(i.CreatedAt)
                    .Append("\n    UpdatedAt:                ").Append(i.UpdatedAt)
                    .Append("\n    Запись вступает в силу с: ").Append(i.RecordComesIntoEffectAt)
                    .Append("\n    Запись утрачивает силу с: ").Append(i.RecordComesOutOfEffectAt)
                    .Append("\n    Доступно:                 ").Append(i.IsAvailable)
                    .Append("\n    Скрыто:                   ").Append(i.IsHidden)
                    .Append("\n    Причина:                  ").Append(i.Reason)
                    .Append("\n    Описание:                 ").Append(i.Description)
                    .Append("\n    Тип:                      ").Append(i.HistoryableType);
                }
                sb.Append("\n }")
                .Append("\n ■ Тревоги:                ")
                .Append("\n {");
                itemNo = 0;
                foreach (CO_Alert a in al)
                {
                    if (a == null)
                    {
                        continue;
                    }
                    CO_User auth = users.FirstOrDefault(x => x.Id == a.Id_CreatedByUser);

                    CO_User resp = users.FirstOrDefault(x => x.Id == a.Id_ResponsiblePerson);

                    CO_AlertType at = alertTypes.FirstOrDefault(x => x.Id == a.Id_AlertType);
                    sb
                    .Append("\n    # ───────────────────── ").Append(itemNo++)
                    .Append("\n    ID:                     ").Append(a.Id)
                    .Append("\n    Время создания:         ").Append(a.CreatedAt)
                    .Append("\n    Время изменения:        ").Append(a.UpdatedAt)
                    .Append("\n    Начало события:         ").Append(a.EventStartTime)
                    .Append("\n    Завершения события:     ").Append(a.EventStopTime)
                    .Append("\n    Время закрытия тревоги: ").Append(a.AlertClosedAt)
                    .Append("\n    Статус:                 ").Append(a.Status)
                    .Append("\n    Описание:               ").Append(a.Description);
                    if (auth != null)
                    {
                        sb.Append("\n    Тревога создана:        ").Append(String.Format("{0} ({1})", auth.UserName, auth.Position));
                    }
                    if (resp != null)
                    {
                        sb.Append("\n    Ответственная особа:    ").Append(String.Format("{0} ({1})", resp.UserName, resp.Position));
                    }
                    sb.Append("\n    Id_AutomaticAlert:      ").Append(a.Id_AutomaticAlert);
                    if (at == null)
                    {
                        continue;
                    }
                    sb
                    .Append("\n    Тип тревоги:            ")
                    .Append("\n         Тип тревоги:       ").Append(at.AlertType)
                    .Append("\n         Название:          ").Append(at.Name)
                    .Append("\n         Приоритет:         ").Append(at.Priority)
                    .Append("\n         Описание:          ").Append(at.Description)
                    .Append("\n         Доп. инфо.:        ").Append(at.AdditionalInfo)
                    .Append("\n         Архивировано:      ").Append(at.IsArchived);
                }
                sb.Append("\n }");
                String result = sb.ToString();
                File.AppendAllText(filePath, result);
                Console.WriteLine(result);
                Console.ReadKey();
            }
        }