Beispiel #1
0
        public async Task <bool> ChangeRepair(RepairClass mutableRepair)
        {
            try
            {
                dataContext.Repairs.Update(mutableRepair);

                #region _
                //var tempWork = dataContext.Repairs.Where(x => x.Id == mutableRepair.Id).FirstOrDefault();

                //foreach (var t in tempWork.GetType().GetProperties())
                //{
                //    foreach (var m in mutableRepair.GetType().GetProperties())
                //    {
                //        if (t.Name == m.Name)
                //        {
                //            t.SetValue(tempWork, m.GetValue(mutableRepair));

                //            continue;
                //        }
                //    }
                //}
                #endregion

                await dataContext.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #2
0
        public async Task StartChangeRepair(RepairClass mutalbeRepair)
        {
            var result = toSql.ChangeRepair(mutalbeRepair);

            result.Wait();

            if (result.Result)
            {
                await Clients.All.SendAsync("ChangedRepair", mutalbeRepair);
            }
            else
            {
                await Clients.Caller.SendAsync("ChangedError", result.Result);
            }
        }
Beispiel #3
0
        public async Task <bool> AddRepair(RepairClass newRepair)
        {
            try
            {
                dataContext.Repairs.Add(newRepair);

                await dataContext.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #4
0
        public RepairCardViewModel(MainObject mainObject, Devices device)
        {
            Repair = new RepairClass()
            {
                Model     = device.DeviceName,
                ScOks     = device.Repairs[0].ScOks,
                InvNumber = device.InvNumber,
                DeviceId  = device.Id,
                OsName    = device.OsName
            };

            if (device.Repairs.Count != 0)
            {
                Repair.SNumber = device.Repairs[0].SNumber;
            }

            MainObject = mainObject;
        }
Beispiel #5
0
        public RepairCardViewModel(MainObject mainObject)
        {
            Repair = new RepairClass();

            MainObject = mainObject;
        }
Beispiel #6
0
        public async Task RunAddRepair(RepairClass repair)
        {
            bool isDevice = false;

            DataContext dataContext = new DataContext();

            foreach (var d in dataContext.Devices)
            {
                if (d.InvNumber == repair.InvNumber)
                {
                    repair.DeviceId = d.Id;

                    var tempBool = toSql.AddRepair(repair).Result;

                    if (tempBool)
                    {
                        isDevice = true;

                        await Clients.All.SendAsync("UpdateRepairs", repair);
                    }
                    else
                    {
                        await Clients.Caller.SendAsync("UpdateRepairFaled", false);
                    }

                    break;
                }
            }

            if (!isDevice)
            {
                var device = new Devices()
                {
                    DeviceName = repair.Model, InvNumber = repair.InvNumber, OsName = repair.OsName
                };

                var tempBool = toSql.AddDevice(device).Result;

                if (tempBool)
                {
                    repair.DeviceId = dataContext.Devices.Where(x => x.InvNumber == repair.InvNumber).FirstOrDefault().Id;

                    var tempBoolRepair = toSql.AddRepair(repair).Result;

                    if (tempBoolRepair)
                    {
                        device.Repairs = new ObservableCollection <RepairClass>(dataContext.Repairs.Where(x => x.InvNumber == device.InvNumber).ToList());

                        await Clients.All.SendAsync("UpdateRepairs", repair);

                        await Clients.All.SendAsync("UpdateDevices", device);
                    }
                    else
                    {
                        await Clients.Caller.SendAsync("UpdateRepairFaled", false);
                    }
                }
                else
                {
                    await Clients.Caller.SendAsync("UpdateDeviceFaled", false);
                }
            }
        }
Beispiel #7
0
        /// <summary>
        /// Метод считывает файл Excel и загружает в память для последующей записи данных в БД
        /// </summary>
        /// <param name="path"></param>
        /// <param name="emptyCol"></param>
        /// <returns></returns>
        public string LoadExcel(string path, List <RepairClass> emptyCol)
        {
            if (!string.IsNullOrEmpty(path))
            {
                using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(path)))
                {
                    // Создание книги Excel
                    using (var workbook = new XLWorkbook(ms))
                    {
                        // Создание таблицы
                        var worksheet = workbook.Worksheet(1);

                        try
                        {
                            // Формирование строк таблицы
                            var rows = worksheet.RangeUsed().RowsUsed().Skip(1);

                            // Цикл создания объектов для добавления в коллекцию
                            foreach (var t in rows)
                            {
                                RepairClass repairClass = new RepairClass()
                                {
                                    Id               = 0,
                                    DeviceId         = 0,
                                    Date             = t.Cell(1).Value.GetType() != typeof(DateTime) ? new DateTime?() : Convert.ToDateTime(t.Cell(1).Value),
                                    Status           = t.Cell(2).Value.ToString(),
                                    OsName           = t.Cell(3).Value.ToString(),
                                    Model            = t.Cell(4).Value.ToString(),
                                    SNumber          = t.Cell(5).Value.ToString(),
                                    InvNumber        = t.Cell(6).Value.ToString(),
                                    ScOks            = t.Cell(7).Value.ToString(),
                                    DiagNumber       = t.Cell(8).Value.ToString(),
                                    KaProvider       = t.Cell(9).Value.ToString(),
                                    KaRepair         = t.Cell(10).Value.ToString(),
                                    HandedOver       = t.Cell(11).Value.ToString(),
                                    Defect           = t.Cell(12).Value.ToString(),
                                    ShipmentDate     = t.Cell(13).Value.GetType() != typeof(DateTime) ? new DateTime?() : Convert.ToDateTime(t.Cell(13).Value),
                                    DaysOfRepair     = 0,
                                    ReturnFromRepair = t.Cell(14).Value.GetType() != typeof(DateTime) ? new DateTime?() : Convert.ToDateTime(t.Cell(14).Value),
                                    ProviderOrder    = t.Cell(15).Value.ToString(),
                                    RepairBill       = t.Cell(16).Value.ToString(),
                                    WarrantyBasis    = t.Cell(17).Value.ToString(),
                                    StartWarranty    = t.Cell(18).Value.GetType() != typeof(DateTime) ? new DateTime?() : Convert.ToDateTime(t.Cell(18).Value),
                                    Warranty         = t.Cell(19).Value.ToString(),
                                    HaveAccumulator  = (bool)t.Cell(20).Value,
                                    HaveFlashMemory  = (bool)t.Cell(21).Value,
                                    HaveHandBelt     = (bool)t.Cell(22).Value,
                                    HaveStylus       = (bool)t.Cell(20).Value
                                };

                                emptyCol.Add(repairClass);
                            }

                            return("Файл считан.");
                        }
                        catch (Exception e)
                        {
                            return(e.Message);
                        }
                    }
                }
            }
            else
            {
                return(null);
            }
        }