コード例 #1
0
        public List <TechnicianView> GetTechniciansByRepairId(RepairView r)
        {
            string URIPart;

            try
            {
                URIPart = URIparts[typeof(TechnicianView)];
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "NULL vagy kulcs nem létezik hiba", MessageBoxButton.OK);
                return(null);
            }
            var result = httpClient.GetAsync(baseUri + URIPart + "/" + r.Id).Result;

            if (!result.IsSuccessStatusCode)
            {
                MessageBox.Show(result.Content.ToString(), result.ReasonPhrase);
            }
            var rawContent     = result.Content.ReadAsStringAsync().Result;
            var parserSettings = new JsonSerializerSettings {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore, MaxDepth = null
            };

            return(JsonConvert.DeserializeObject <List <TechnicianView> >(rawContent, parserSettings));
        }
コード例 #2
0
        public ActionResult UpdateRepair(RepairView repair)
        {
            var workshopRepo = new WorkshopRepository();

            workshopRepo.UpdateRepair(repair);
            return(Ok());
        }
コード例 #3
0
        private void LoadRepair(RepairView repair)
        {
            theRepair            = repair;
            realPriceLbl.Content = theRepair.Price;
            problemTbox.Text     = theRepair.Description.ToString();
            var  bnsNames       = ManagerService.GetInstance().BonusRepairs.Where(br => br.RepairID == repair.Id).Select(br => br.BonusName).ToList();
            var  bns            = ManagerService.GetInstance().Bonuses.Where(b => bnsNames.Contains(b.Name));
            long noBonusesPrice = theRepair.Price - bns.Sum(b => b?.Price ?? 0);

            priceTbox.Text = noBonusesPrice.ToString();

            foreach (BonusView b in bns)
            {
                Label bonus = new Label();
                bonus.Content = b.Name + " " + b.Price;
                bonus.HorizontalContentAlignment = HorizontalAlignment.Center;
                bonus.VerticalContentAlignment   = VerticalAlignment.Center;

                foreach (CheckBox cb in bonusLbox.Children)
                {
                    if (cb.Content.ToString().Contains(b.Name))
                    {
                        cb.IsChecked = true;
                        break;
                    }
                }
            }
        }
コード例 #4
0
        public ActionResult TakeRepairJob(RepairView repair)
        {
            var workshopRepo = new WorkshopRepository();

            if (repair is null)
            {
                return(NotFound());
            }
            workshopRepo.UpdateRepair(repair);
            return(Ok());
        }
コード例 #5
0
 public RegistrationView(bool update = false)
 {
     InitializeComponent();
     this.update = update;
     this.repair = ManagerService.GetInstance().Repair;
     if (update)
     {
         LoadRepair(repair);
     }
     managerLbl.Content = ManagerService.GetInstance().CurrentManager?.User.Username ?? "adminInside%";
 }
コード例 #6
0
        public RepairJobView(bool update = false)
        {
            InitializeComponent();
            theRepair = ManagerService.GetInstance().Repair;
            LoadBonuses();
            LoadRepair(theRepair);

            this.update = update;

            managerLbl.Content  = (theRepair?.Manager?.User.Username ?? ManagerService.GetInstance().CurrentManager?.User.Username) ?? "adminInside%";
            priceTbox.MaxLength = Int64.MaxValue.ToString().Length;
        }
コード例 #7
0
        public bool ValidateUser(UserView u)
        {
            var         valid   = workshopClient.ValidateUser(u);
            ManagerView manager =
                (from managers in Managers ?? new List <ManagerView>()
                 where managers.User.Username == u.Username
                 select managers).FirstOrDefault();

            CurrentManager = manager;
            Repair         = new RepairView();
            return(valid && manager != null);
        }
コード例 #8
0
ファイル: WorkshopRepository.cs プロジェクト: cant0r/Workshop
        public void UpdateRepair(RepairView repairView)
        {
            using var ctx = new WorkshopContext();
            var r = ctx.Repairs.Include(r => r.BonusRepairs)
                    .Include(r => r.RepairTechnicians)
                    .SingleOrDefault(er => er.Id == repairView.Id);

            ctx.Repairs.Update(r);
            var auto = ctx.Automobiles.SingleOrDefault(a => a.Id == repairView.Auto.Id);

            auto.Brand        = repairView.Auto.Brand;
            auto.Model        = repairView.Auto.Model;
            auto.LicencePlate = repairView.Auto.LicencePlate;
            var client = ctx.Clients.SingleOrDefault(c => c.Id == repairView.Auto.Client.Id);

            client.Email       = repairView.Auto.Client.Email;
            client.Name        = repairView.Auto.Client.Name;
            client.PhoneNumber = repairView.Auto.Client.PhoneNumber;
            auto.Client        = client;
            var manager = ctx.Managers.SingleOrDefault(m => m.Id == repairView.Manager.Id);

            r.Manager     = manager;
            r.Auto        = auto;
            r.State       = repairView.State;
            r.Description = repairView.Description;
            r.Price       = repairView.Price;

            r.RepairTechnicians?.Clear();
            foreach (Technician tech in ctx.Technicians)
            {
                if (repairView.RepairTechnicians?.SingleOrDefault(b => b.TechnicianId == tech.Id) != null)
                {
                    r.RepairTechnicians.Add(new RepairTechnician {
                        RepairID = r.Id, TechnicianId = tech.Id
                    });
                }
            }


            r.BonusRepairs?.Clear();
            foreach (Bonus b in ctx.Bonuses)
            {
                if (repairView.BonusRepairs?.SingleOrDefault(br => br.BonusName == b.Name) != null)
                {
                    r.BonusRepairs.Add(new BonusRepair {
                        BonusName = b.Name, RepairID = r.Id
                    });
                }
            }
            ctx.Entry(r).State = EntityState.Modified;
            ctx.SaveChanges();
        }
コード例 #9
0
ファイル: TechnicianService.cs プロジェクト: cant0r/Workshop
        public void UpdateRepair(RepairView r)
        {
            var newTechnician = r.RepairTechnicians?.FirstOrDefault(rt => rt.TechnicianId == CurrentTechnician.Id);

            if (newTechnician is null)
            {
                r.RepairTechnicians.Add(new RepairTechnicianView {
                    RepairID     = r.Id,
                    TechnicianId = CurrentTechnician.Id
                });
            }
            workshopClient.UpdateRepair(r);
        }
コード例 #10
0
ファイル: ViewMapper.cs プロジェクト: cant0r/Workshop
        public static RepairView GetViewModell(Repair r)
        {
            RepairView rv = new RepairView();

            if (r != null)
            {
                rv.Auto              = GetViewModell(r.Auto);
                rv.BonusRepairs      = r.BonusRepairs?.Select(br => GetViewModell(br)).ToList();
                rv.Description       = r.Description;
                rv.Id                = r.Id;
                rv.Manager           = GetViewModell(r.Manager);
                rv.Price             = r.Price;
                rv.RepairTechnicians = r.RepairTechnicians?.Select(br => GetViewModell(br)).ToList();
                rv.State             = r.State;
            }
            return(rv);
        }
コード例 #11
0
ファイル: WorkshopClient.cs プロジェクト: cant0r/Workshop
        public bool UploadUpdatedRepair(RepairView repair)
        {
            string URIPart = URIparts[typeof(RepairView)];
            var    options = new JsonSerializerSettings {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };
            var json    = JsonConvert.SerializeObject(repair, options);
            var rawData = new StringContent(json, Encoding.UTF8, "application/json");

            var result = httpClient.PutAsync(baseUri + URIPart, rawData).Result;

            if (!result.IsSuccessStatusCode)
            {
                MessageBox.Show(result.ReasonPhrase, result.StatusCode.ToString());
            }
            return(result.IsSuccessStatusCode);
        }
コード例 #12
0
ファイル: WorkshopRepository.cs プロジェクト: cant0r/Workshop
        public void CreateRepair(RepairView repairView)
        {
            RegisterAuto(repairView.Auto);
            using var ctx = new WorkshopContext();
            Repair repair = new Repair();

            repair.Description = repairView.Description;
            repair.Manager     = ctx.Managers.Single(m => m.Id == repairView.Manager.Id);
            repair.Price       = repairView.Price;
            repair.State       = repairView.State;
            repair.Auto        = ctx.Automobiles.SingleOrDefault(a => a.LicencePlate == repairView.Auto.LicencePlate);
            ctx.Repairs.Add(repair);
            repair.BonusRepairs = new List <BonusRepair>();
            foreach (string bonus in repairView.BonusRepairs.Select(br => br.BonusName))
            {
                repair.BonusRepairs.Add(new BonusRepair {
                    BonusName = bonus, RepairID = repair.Id
                });
            }

            ctx.Entry(repair.Auto).State = EntityState.Modified;
            ctx.SaveChanges();
        }
コード例 #13
0
 public bool UploadUpdatedRepair(RepairView r)
 {
     return(workshopClient.UploadUpdatedRepair(r));
 }