Exemple #1
0
        public override sealed void DrawControls()
        {
            if (IsLoad)
            {
                TypesOfLampsStatus      state = Accessory.GetState(TypeOfAccessories.ElectronicUnit, UnitBarcode);
                ListOfLabelsConstructor list  = new ListOfLabelsConstructor(MainProcess, "Ел. блок", getData());
                list.ListOfLabels = new List <LabelForConstructor>
                {
                    new LabelForConstructor(string.Empty, false),
                    new LabelForConstructor(string.Empty, false),
                    new LabelForConstructor(string.Empty, false),
                    new LabelForConstructor(string.Empty, false),
                    new LabelForConstructor("Модель: {0}"),
                    new LabelForConstructor("Партія: {0}"),
                    new LabelForConstructor("Гарантія до {0}")
                };

                if (state == TypesOfLampsStatus.ToRepair)
                {
                    MainProcess.CreateButton("Зберігання", 15, 275, 100, 35, "storage", Storage_Click);
                }
                else
                {
                    MainProcess.CreateButton("Ремонт", 15, 275, 100, 35, "repair", Repair_Click);
                }

                MainProcess.CreateButton("Списання", 125, 275, 100, 35, "writeoff", Writeoff_Click, null, null, state != TypesOfLampsStatus.ToCharge);
            }
        }
        public override sealed void DrawControls()
        {
            if (IsLoad)
            {
                TypesOfLampsStatus      state = Accessory.GetState(TypeOfAccessories.Case, CaseBarcode);
                ListOfLabelsConstructor list  = new ListOfLabelsConstructor(MainProcess, ResultParameters);
                list.ListOfLabels = new List <LabelForConstructor>
                {
                    new LabelForConstructor("Корпус", ControlsStyle.LabelH2),
                    new LabelForConstructor("Модель: {0}"),
                    new LabelForConstructor("Партія: {0}"),
                    new LabelForConstructor("Гарантія до {0}"),
                    new LabelForConstructor("Електроблок", ControlsStyle.LabelH2),
                    new LabelForConstructor("Партія: {0}", 1),
                    new LabelForConstructor("Гарантія до {0}"),
                };

                MainProcess.CreateButton("Уснановка", 15, 225, 100, 35, "installNew", InstallNew);
                MainProcess.CreateButton("Розібрати", 125, 225, 100, 35, "collate", Collate);

                if (state == TypesOfLampsStatus.ToRepair)
                {
                    MainProcess.CreateButton("Зберігання", 15, 275, 100, 35, "storages", Storages);
                }
                else
                {
                    MainProcess.CreateButton("Ремонт", 15, 275, 100, 35, "repair", Repair);
                }

                MainProcess.CreateButton("Спиння", 125, 275, 100, 35, "writeoff", WriteOff, null, null, state != TypesOfLampsStatus.ToCharge);
            }
        }
        /// <summary>Поставити світильник на зберігання</summary>
        /// <param name="MainProcess"></param>
        /// <param name="barcode">Штрихкод комплектуючого</param>
        /// <param name="type">Тип комплектуючого</param>
        /// <param name="state">Новий статус</param>
        public SetAccessoryNewState(WMSClient MainProcess, string barcode, TypeOfAccessories type, TypesOfLampsStatus state)
            : base(MainProcess, 1)
        {
            accessoryBarcode = barcode;
            typeOfAccessory  = type;
            newState         = state;

            IsLoad = true;
            DrawControls();
        }
        /// <summary>��������� ��������� �� ���������</summary>
        /// <param name="MainProcess"></param>
        /// <param name="barcode">�������� ��������������</param>
        /// <param name="type">��� ��������������</param>
        /// <param name="state">����� ������</param>
        public SetAccessoryNewState(WMSClient MainProcess, string barcode, TypeOfAccessories type, TypesOfLampsStatus state)
            : base(MainProcess, 1)
        {
            accessoryBarcode = barcode;
            typeOfAccessory = type;
            newState = state;

            IsLoad = true;
            DrawControls();
        }
Exemple #5
0
        /// <summary>Встановити новий статус</summary>
        /// <param name="accessory">Тип комплектуючого</param>
        /// <param name="newState">Новий статус</param>
        /// <param name="barcode">Штрихкод комплектуючого</param>
        public static void SetState(TypeOfAccessories accessory, TypesOfLampsStatus newState, string barcode)
        {
            string command = string.Format("UPDATE {0}s SET Status=@State WHERE RTRIM({1})=RTRIM(@{1})",
                                           accessory, BARCODE_NAME);

            using (SqlCeCommand query = dbWorker.NewQuery(command))
            {
                query.AddParameter("State", newState);
                query.AddParameter(BARCODE_NAME, barcode);
                query.ExecuteNonQuery();
            }
        }
Exemple #6
0
        private bool correctAccessoryStatus(string barcode)
        {
            TypesOfLampsStatus state = Accessory.GetState(TypeOfAccessories.ElectronicUnit, barcode);

            if (state == TypesOfLampsStatus.ToRepair)
            {
                return(true);
            }
            else
            {
                ShowMessage(@"Комплектуюча має бути у статусі ""На ремонті""!");
                return(false);
            }
        }
Exemple #7
0
        /// <summary>Змінити статус ел.блоку</summary>
        /// <param name="status">Новий статус</param>
        private void changeUnitStatus(TypesOfLampsStatus status)
        {
            string command =
                string.Format("UPDATE ElectronicUnits SET Status=@Status,{0}=@{0} WHERE RTRIM({1})=RTRIM(@{1})",
                              dbObject.IS_SYNCED, dbObject.BARCODE_NAME);

            using (SqlCeCommand query = dbWorker.NewQuery(command))
            {
                query.AddParameter("Status", (int)status);
                query.AddParameter(dbObject.IS_SYNCED, false);
                query.AddParameter(dbObject.BARCODE_NAME, UnitBarcode);
                query.ExecuteNonQuery();
            }
        }
Exemple #8
0
        private void ok_Click()
        {
            object caseId = BarcodeWorker.GetIdByBarcode(CaseBarcode);
            //Статус корпуса, в который запихиваем новое комплектующее
            TypesOfLampsStatus status = Accessory.GetState(TypeOfAccessories.Case, CaseBarcode.ToString());
            bool   isLamp             = accessoryTable == typeof(db.Lamps).Name;
            object accessoryId        = BarcodeWorker.GetIdByBarcode(NewAccessoryBarcode.ToString());

            string command = string.Format(
                "UPDATE {0} SET Status=@IsWorking,[Case]=@Case,{1}=0,DateOfActuality=@Date{2} WHERE RTRIM(BarCode)=@Barcode",
                accessoryTable,
                dbObject.IS_SYNCED,
                isLamp ? ",Barcode=@NewBarCode" : string.Empty);

            using (SqlCeCommand query = dbWorker.NewQuery(command))
            {
                query.AddParameter("Barcode", NewAccessoryBarcode);
                query.AddParameter("NewBarCode", string.Empty);
                query.AddParameter("Case", caseId);
                query.AddParameter("IsWorking", status);
                query.AddParameter("Date", DateTime.Now);
                query.ExecuteNonQuery();
            }

            using (SqlCeCommand query = dbWorker.NewQuery(string.Format(
                                                              "UPDATE Cases SET {0}=@Id,{1}=0,DateOfActuality=@Date WHERE RTRIM(BarCode)=@Case",
                                                              accessoryField,
                                                              dbObject.IS_SYNCED)))
            {
                query.AddParameter("Case", CaseBarcode);
                query.AddParameter("Id", accessoryId);
                query.AddParameter("Date", DateTime.Now);
                query.ExecuteNonQuery();
            }
            //query = dbWorker.NewQuery(string.Format(
            //    "UPDATE {0} SET Status=@IsWorking,[Case]=@Id,{1}=0,DateOfActuality=@Date WHERE {2}=@Id",
            //    accessoryTable,
            //    dbObject.IS_SYNCED,
            //    dbObject.IDENTIFIER_NAME));
            //query.AddParameter("Id", caseId);
            //query.AddParameter(dbObject.IDENTIFIER_NAME, accessoryId);
            //query.AddParameter("Date", DateTime.Now);
            //query.ExecuteNonQuery();

            //string caseBarcode = CaseBarcode.ToString();
            //installMovement(caseBarcode);
            OnHotKey(KeyAction.Esc);
        }
Exemple #9
0
 /// <summary>�������� ������ �������</summary>
 /// <param name="lighterBarcode">�������� �������</param>
 /// <param name="status">����� ������</param>
 /// <param name="remove">������� ���������?</param>
 /// <param name="map"></param>
 /// <param name="register"></param>
 /// <param name="position"></param>
 public static void ChangeLighterState(string lighterBarcode, TypesOfLampsStatus status, bool remove, int map,
                                       int register, int position)
 {
     //������
     string command = string.Format(
         "UPDATE Cases SET Map=@Map,Register=@Register,Position=@Position,Status=@Status,{0}=0,DateOfActuality=@Date{1} WHERE RTRIM(Barcode)=@Barcode",
         IS_SYNCED,
         remove ? ",DrawdownDate=@DrawdownDate" : string.Empty);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Barcode", lighterBarcode);
         query.AddParameter("Status", status);
         query.AddParameter("Map", map);
         query.AddParameter("Register", register);
         query.AddParameter("Position", position);
         query.AddParameter("Date", DateTime.Now);
         query.AddParameter("DrawdownDate", DateTime.Now);
         query.ExecuteNonQuery();
         }
     //�� ����
     object caseId = BarcodeWorker.GetIdByBarcode(lighterBarcode);
     command = string.Format(
         "UPDATE ElectronicUnits SET Status=@Status,{0}=0,DateOfActuality=@Date{1} WHERE [Case]=@Id",
         IS_SYNCED,
         remove ? ",DrawdownDate=@DrawdownDate" : string.Empty);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Status", status);
         query.AddParameter("Id", caseId);
         query.AddParameter("Date", DateTime.Now);
         query.AddParameter("DrawdownDate", DateTime.Now);
         query.ExecuteNonQuery();
         }
     //�����
     command = string.Format(
         "UPDATE Lamps SET Status=@Status,{0}=0,DateOfActuality=@Date{1} WHERE [Case]=@Id",
         IS_SYNCED,
         remove ? ",DrawdownDate=@DrawdownDate" : string.Empty);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Status", status);
         query.AddParameter("Id", caseId);
         query.AddParameter("Date", DateTime.Now);
         query.AddParameter("DrawdownDate", DateTime.Now);
         query.ExecuteNonQuery();
         }
 }
Exemple #10
0
 /// <summary>Изменить статус корпуса</summary>
 /// <param name="lighterBarcode">Штрихкод корпуса</param>
 /// <param name="status">Новый статус</param>
 /// <param name="remove">Процесс демонтажа?</param>
 /// <param name="map"></param>
 /// <param name="register"></param>
 /// <param name="position"></param>
 public static void ChangeLighterState(string lighterBarcode, TypesOfLampsStatus status, bool remove, int map,
                                       int register, int position)
     {
     //Корпус
     string command = string.Format(
         "UPDATE Cases SET Map=@Map,Register=@Register,Position=@Position,Status=@Status,{0}=0,DateOfActuality=@Date{1} WHERE RTRIM(Barcode)=@Barcode",
         IS_SYNCED,
         remove ? ",DrawdownDate=@DrawdownDate" : string.Empty);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Barcode", lighterBarcode);
         query.AddParameter("Status", status);
         query.AddParameter("Map", map);
         query.AddParameter("Register", register);
         query.AddParameter("Position", position);
         query.AddParameter("Date", DateTime.Now);
         query.AddParameter("DrawdownDate", DateTime.Now);
         query.ExecuteNonQuery();
         }
     //Эл блок
     object caseId = BarcodeWorker.GetIdByBarcode(lighterBarcode);
     command = string.Format(
         "UPDATE ElectronicUnits SET Status=@Status,{0}=0,DateOfActuality=@Date{1} WHERE [Case]=@Id",
         IS_SYNCED,
         remove ? ",DrawdownDate=@DrawdownDate" : string.Empty);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Status", status);
         query.AddParameter("Id", caseId);
         query.AddParameter("Date", DateTime.Now);
         query.AddParameter("DrawdownDate", DateTime.Now);
         query.ExecuteNonQuery();
         }
     //Лампа
     command = string.Format(
         "UPDATE Lamps SET Status=@Status,{0}=0,DateOfActuality=@Date{1} WHERE [Case]=@Id",
         IS_SYNCED,
         remove ? ",DrawdownDate=@DrawdownDate" : string.Empty);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Status", status);
         query.AddParameter("Id", caseId);
         query.AddParameter("Date", DateTime.Now);
         query.AddParameter("DrawdownDate", DateTime.Now);
         query.ExecuteNonQuery();
         }
     }
        /// <summary>Світильник на гектарі?</summary>
        /// <param name="barcode">Штрихкод світильника</param>
        /// <returns>Світильник на гектарі?</returns>
        private bool isCasePerHectare(string barcode)
        {
            using (
                SqlCeCommand command = dbWorker.NewQuery(@"SELECT c.Status FROM Cases c WHERE RTRIM(BarCode)=@BarCode"))
            {
                command.AddParameter("@BarCode", barcode);
                object result = command.ExecuteScalar();

                if (result == null)
                {
                    return(false);
                }

                TypesOfLampsStatus state = (TypesOfLampsStatus)Convert.ToInt32(result);
                return(state == TypesOfLampsStatus.IsWorking);
            }
        }
Exemple #12
0
        /// <summary>ВСтановити статус комплектующего</summary>
        /// <param name="accessory">Тип комплектуючого</param>
        /// <param name="barcode">Штихкод</param>
        /// <param name="state">Новий статус</param>
        public static void SetNewState(TypeOfAccessories accessory, string barcode, TypesOfLampsStatus state)
        {
            if (accessory == TypeOfAccessories.Case)
            {
                Cases.ChangeLighterState(barcode, state, true);
            }

            string command = string.Format(
                "UPDATE {0}s SET Status=@{1} WHERE RTRIM({2})=RTRIM(@{2})",
                accessory, dbSynchronizer.PARAMETER, BARCODE_NAME);

            using (SqlCeCommand query = dbWorker.NewQuery(command))
            {
                query.AddParameter(BARCODE_NAME, barcode);
                query.AddParameter(dbSynchronizer.PARAMETER, state);
                query.ExecuteNonQuery();
            }
        }
Exemple #13
0
        public override sealed void DrawControls()
        {
            if (IsLoad)
                {
                MainProcess.ClearControls();

                switch (stage)
                    {
                    case Stages.Begin:
                        unitBarcode = string.Empty;
                        stage = Cases.UnderWarranty(LightBarcode) ? Stages.UnderWarrantly : Stages.OutOfWarrantlyUnit;
                        DrawControls();
                        break;
                    case Stages.UnderWarrantly:
                        warrantlyWin();
                        break;
                    case Stages.OutOfWarrantlyUnit:
                        if (Cases.IsHaveUnit(LightBarcode))
                            {
                            messageWin(REPAIR_TOPIC,
                                       "Вилучити Електроблок?",
                                       ButtonsSet.YesNo,
                                       Stages.ScanUnitBarcode,
                                       Stages.OutOfWarrantlyLamp);
                            }
                        else
                            {
                            stage = Stages.ExtractionElectricUnit;
                            DrawControls();
                            }
                        break;
                    case Stages.OutOfWarrantlyLamp:
                        if (Cases.IsHaveUnit(LightBarcode))
                            {
                            messageWin(REPAIR_TOPIC,
                                       "Вилучити Лампу?",
                                       ButtonsSet.YesNo,
                                       Stages.ScanLampBarcode,
                                       Stages.FromOutOfWarrantly);
                            }
                        else
                            {
                            stage = Stages.ExtractionLamp;
                            DrawControls();
                            }
                        break;
                    case Stages.FromUnderWarrantly:
                        newCaseStatus = TypesOfLampsStatus.ForExchange;
                        newUnitStatus = TypesOfLampsStatus.ForExchange;
                        newLampStatus = TypesOfLampsStatus.ForExchange;

                        messageWin(REPLACE_TOPIC,
                                   "Світильник буде поставлено на обмін",
                                   ButtonsSet.OkCancel,
                                   Stages.Save,
                                   Stages.Begin);
                        break;
                    case Stages.FromOutOfWarrantly:
                        newCaseStatus = TypesOfLampsStatus.ToRepair;
                        newUnitStatus = TypesOfLampsStatus.ToRepair;
                        newLampStatus = TypesOfLampsStatus.ToRepair;

                        messageWin(REPAIR_TOPIC,
                                   "Світильник буде поставлено на ремонт",
                                   ButtonsSet.OkCancel,
                                   Stages.Save,
                                   Stages.Begin);
                        break;
                    case Stages.ScanLampBarcode:
                        if (IsLampHaveBarcode())
                            {
                            stage = Stages.ExtractionLamp;
                            DrawControls();
                            }
                        else
                            {
                            needSaveUnitBarcode = true;
                            messageWin(REPAIR_TOPIC,
                                       "Відскануйте штрихкод лампи",
                                       ButtonsSet.None,
                                       Stages.ExtractionLamp,
                                       Stages.ExtractionLamp);
                            }
                        break;
                    case Stages.ScanUnitBarcode:
                        if (IsUnitHaveBarcode())
                            {
                            stage = Stages.ExtractionElectricUnit;
                            DrawControls();
                            }
                        else
                            {
                            needSaveLampBarcode = true;
                            messageWin(REPAIR_TOPIC,
                                       "Відскануйте штрихкод електроблоку",
                                       ButtonsSet.None,
                                       Stages.ExtractionElectricUnit,
                                       Stages.ExtractionElectricUnit);
                            }
                        break;
                    case Stages.ExtractionElectricUnit:
                        stage = Stages.OutOfWarrantlyLamp;
                        DrawControls();
                        break;
                    case Stages.ExtractionLamp:
                        stage = Stages.FinishExtraction;
                        DrawControls();
                        break;
                    case Stages.FinishExtraction:
                        newCaseStatus = TypesOfLampsStatus.ToRepair;
                        newUnitStatus = TypesOfLampsStatus.Storage;
                        newLampStatus = TypesOfLampsStatus.Storage;

                        messageWin(REPAIR_TOPIC,
                                   "Світильник буде поставлено на ремонт",
                                   ButtonsSet.OkCancel,
                                   Stages.Save,
                                   Stages.Begin);
                        break;
                    case Stages.Exit:
                        OnHotKey(KeyAction.Esc);
                        break;
                    case Stages.Save:
                        save();
                        OnHotKey(KeyAction.Esc);
                        break;
                    }
                }
        }
Exemple #14
0
        public override sealed void DrawControls()
        {
            if (IsLoad)
            {
                MainProcess.ClearControls();

                switch (stage)
                {
                case Stages.Begin:
                    unitBarcode = string.Empty;
                    stage       = Cases.UnderWarranty(LightBarcode) ? Stages.UnderWarrantly : Stages.OutOfWarrantlyUnit;
                    DrawControls();
                    break;

                case Stages.UnderWarrantly:
                    warrantlyWin();
                    break;

                case Stages.OutOfWarrantlyUnit:
                    if (Cases.IsHaveUnit(LightBarcode))
                    {
                        messageWin(REPAIR_TOPIC,
                                   "Вилучити Електроблок?",
                                   ButtonsSet.YesNo,
                                   Stages.ScanUnitBarcode,
                                   Stages.OutOfWarrantlyLamp);
                    }
                    else
                    {
                        stage = Stages.ExtractionElectricUnit;
                        DrawControls();
                    }
                    break;

                case Stages.OutOfWarrantlyLamp:
                    if (Cases.IsHaveUnit(LightBarcode))
                    {
                        messageWin(REPAIR_TOPIC,
                                   "Вилучити Лампу?",
                                   ButtonsSet.YesNo,
                                   Stages.ScanLampBarcode,
                                   Stages.FromOutOfWarrantly);
                    }
                    else
                    {
                        stage = Stages.ExtractionLamp;
                        DrawControls();
                    }
                    break;

                case Stages.FromUnderWarrantly:
                    newCaseStatus = TypesOfLampsStatus.ForExchange;
                    newUnitStatus = TypesOfLampsStatus.ForExchange;
                    newLampStatus = TypesOfLampsStatus.ForExchange;

                    messageWin(REPLACE_TOPIC,
                               "Світильник буде поставлено на обмін",
                               ButtonsSet.OkCancel,
                               Stages.Save,
                               Stages.Begin);
                    break;

                case Stages.FromOutOfWarrantly:
                    newCaseStatus = TypesOfLampsStatus.ToRepair;
                    newUnitStatus = TypesOfLampsStatus.ToRepair;
                    newLampStatus = TypesOfLampsStatus.ToRepair;

                    messageWin(REPAIR_TOPIC,
                               "Світильник буде поставлено на ремонт",
                               ButtonsSet.OkCancel,
                               Stages.Save,
                               Stages.Begin);
                    break;

                case Stages.ScanLampBarcode:
                    if (IsLampHaveBarcode())
                    {
                        stage = Stages.ExtractionLamp;
                        DrawControls();
                    }
                    else
                    {
                        needSaveUnitBarcode = true;
                        messageWin(REPAIR_TOPIC,
                                   "Відскануйте штрихкод лампи",
                                   ButtonsSet.None,
                                   Stages.ExtractionLamp,
                                   Stages.ExtractionLamp);
                    }
                    break;

                case Stages.ScanUnitBarcode:
                    if (IsUnitHaveBarcode())
                    {
                        stage = Stages.ExtractionElectricUnit;
                        DrawControls();
                    }
                    else
                    {
                        needSaveLampBarcode = true;
                        messageWin(REPAIR_TOPIC,
                                   "Відскануйте штрихкод електроблоку",
                                   ButtonsSet.None,
                                   Stages.ExtractionElectricUnit,
                                   Stages.ExtractionElectricUnit);
                    }
                    break;

                case Stages.ExtractionElectricUnit:
                    stage = Stages.OutOfWarrantlyLamp;
                    DrawControls();
                    break;

                case Stages.ExtractionLamp:
                    stage = Stages.FinishExtraction;
                    DrawControls();
                    break;

                case Stages.FinishExtraction:
                    newCaseStatus = TypesOfLampsStatus.ToRepair;
                    newUnitStatus = TypesOfLampsStatus.Storage;
                    newLampStatus = TypesOfLampsStatus.Storage;

                    messageWin(REPAIR_TOPIC,
                               "Світильник буде поставлено на ремонт",
                               ButtonsSet.OkCancel,
                               Stages.Save,
                               Stages.Begin);
                    break;

                case Stages.Exit:
                    OnHotKey(KeyAction.Esc);
                    break;

                case Stages.Save:
                    save();
                    OnHotKey(KeyAction.Esc);
                    break;
                }
            }
        }
Exemple #15
0
 /// <summary>Изменить статус корпуса</summary>
 /// <param name="lighterBarcode">Штрихкод корпуса</param>
 /// <param name="status">Новый статус</param>
 /// <param name="remove">Процесс демонтажа?</param>
 public static void ChangeLighterState(string lighterBarcode, TypesOfLampsStatus status, bool remove)
     {
     ChangeLighterState(lighterBarcode, status, remove, 0, 0, 0);
     }
Exemple #16
0
        private void finish(bool isForExchange)
        {
            object[] result = null;
            //Штрихкод установленной лампы
            using (SqlCeCommand query = dbWorker.NewQuery(string.Format(@"
SELECT a.Barcode, a.SyncRef
FROM Cases c
LEFT JOIN {0} a ON a.Id=c.{1}
WHERE RTRIM(c.BarCode)=@BarCode", accessoryTable, accessoryTable.Substring(0, accessoryTable.Length - 1))))
            {
                query.AddParameter("BarCode", CaseBarcode);
                result = query.SelectArray();
            }

            if (result != null && result.Length == 2)
            {
                object oldLampBarcode = result[0];
                object accessoryRef   = result[1];
                object caseId         = BarcodeWorker.GetIdByBarcode(CaseBarcode);
                object newAccessoryId = BarcodeWorker.GetIdByBarcode(NewAccessoryBarcode);
                bool   isLamp         = accessoryTable == typeof(db.Lamps).Name;

                string partOfCommand = string.Format(
                    "UPDATE {0} SET Status=@Status{1},[Case]=@Case,{2}=0,DateOfActuality=@Date{3} WHERE ",
                    accessoryTable,
                    type != TypeOfAccessories.ElectronicUnit
                        ? ", Barcode=@NewBarcode "
                        : string.Empty,
                    dbObject.IS_SYNCED,
                    "{0}");

                //Статус комплектующего, которое меняем
                TypesOfLampsStatus status = Accessory.GetState(TypeOfAccessories.Lamp, oldLampBarcode.ToString());

                //Старое комплектующее
                using (SqlCeCommand query = dbWorker.NewQuery(string.Concat(
                                                                  string.Format(partOfCommand, ",DrawdownDate=@DrawdownDate"),
                                                                  " RTRIM(SyncRef)=RTRIM(@SyncRef)")))
                {
                    query.AddParameter("Status",
                                       isForExchange ? TypesOfLampsStatus.ToRepair : TypesOfLampsStatus.Storage);
                    query.AddParameter("Case", 0);
                    query.AddParameter("LampBarcode", oldLampBarcode);
                    query.AddParameter("NewBarcode", isLamp ? NewAccessoryBarcode : oldLampBarcode);
                    query.AddParameter(dbObject.SYNCREF_NAME, accessoryRef);
                    query.AddParameter("Date", DateTime.Now);
                    query.AddParameter("DrawdownDate", DateTime.Now);
                    query.ExecuteNonQuery();
                }

                //Новое комплектующее
                using (
                    SqlCeCommand query =
                        dbWorker.NewQuery(string.Concat(string.Format(partOfCommand, string.Empty), " Id=@Id")))
                {
                    query.AddParameter("Status", status);
                    query.AddParameter("Case", caseId);
                    query.AddParameter("Id", newAccessoryId);
                    query.AddParameter("NewBarcode", isLamp ? string.Empty : oldLampBarcode);
                    query.AddParameter("Date", DateTime.Now);
                    query.ExecuteNonQuery();
                }

                //Замена комплектующего в светильнике
                using (SqlCeCommand query = dbWorker.NewQuery(string.Format(
                                                                  "UPDATE CASES SET {0}=@NewAccessoryId,{1}=0,DateOfActuality=@Date WHERE RTRIM(BarCode)=RTRIM(@CaseBarcode)",
                                                                  accessoryField,
                                                                  dbObject.IS_SYNCED)))
                {
                    query.AddParameter("CaseBarcode", CaseBarcode);
                    query.AddParameter("NewAccessoryId", newAccessoryId);
                    query.AddParameter("Date", DateTime.Now);
                    query.ExecuteNonQuery();
                }
                //Завершение
                //string caseBarcode = CaseBarcode.ToString();
                //installMovement(caseBarcode);
                //removeMovement(oldLampBarcode.ToString(), caseBarcode);
                OnHotKey(KeyAction.Esc);
            }
        }
Exemple #17
0
 /// <summary>�������� ������ �������</summary>
 /// <param name="lighterBarcode">�������� �������</param>
 /// <param name="status">����� ������</param>
 /// <param name="remove">������� ���������?</param>
 public static void ChangeLighterState(string lighterBarcode, TypesOfLampsStatus status, bool remove)
 {
     ChangeLighterState(lighterBarcode, status, remove, 0, 0, 0);
 }
Exemple #18
0
 /// <summary>Змінити статус ел.блоку</summary>
 /// <param name="status">Новий статус</param>
 private void changeUnitStatus(TypesOfLampsStatus status)
 {
     string command =
         string.Format("UPDATE ElectronicUnits SET Status=@Status,{0}=@{0} WHERE RTRIM({1})=RTRIM(@{1})",
                       dbObject.IS_SYNCED, dbObject.BARCODE_NAME);
     using (SqlCeCommand query = dbWorker.NewQuery(command))
         {
         query.AddParameter("Status", (int)status);
         query.AddParameter(dbObject.IS_SYNCED, false);
         query.AddParameter(dbObject.BARCODE_NAME, UnitBarcode);
         query.ExecuteNonQuery();
         }
 }