Example #1
0
        public async Task Load()
        {
            scheduleVM = await _scheduleService.GetById <Data.ViewModel.ScheduleVM>(ScheduleModel.ScheduleID);


            TotalPrice = scheduleVM.totalPrice.ToString() + " KM";



            var listOffer = await _offerService.Get <List <Data.ViewModel.OffersVM> >(new OfferSearchRequest()
            {
                ScheduleID = scheduleVM.ScheduleID
            });

            if (listOffer.Count() > 0)
            {
                OfferVM = listOffer.First();
            }
            if (OfferVM != null)
            {
                if (OfferVM.partsSelected)
                {
                    OfferItemsVM = await _offerItemsService.GetById <Data.ViewModel.OfferItemsVM>(OfferVM.OfferID);
                }
            }
            RequestVM = await _requestClientService.GetById <Data.ViewModel.RequestVM>(scheduleVM.RequestID);

            foreach (var i in RequestVM.ListOfRequestedServices)
            {
                _servicesList.Add(new Service()
                {
                    ServiceName = i.ServiceName, ServicePrice = i.ServicePrice.ToString() + " KM"
                });
            }
            if (OfferItemsVM != null)
            {
                if (OfferItemsVM.listOfParts.Count() > 0)
                {
                    foreach (var x in OfferItemsVM.listOfParts)
                    {
                        _selectedParts.Add(new SelectedPart()
                        {
                            Photo          = x.Photo,
                            CarPartName    = x.CarPartName,
                            Quality        = x.Quality,
                            QuantityNeeded = x.QuantityNeeded,
                            inTotal        = x.QuantityNeeded * x.CarPartPrice
                        });
                    }
                }
            }
        }
Example #2
0
        private async void frmCreateOnlineTicket_Load(object sender, EventArgs e)
        {
            scheduleVM = await _scheduleService.GetById <Data.ViewModel.ScheduleVM>(_scheduleID);


            txtTotalPrice.Text = scheduleVM.totalPrice.ToString() + " KM";



            var listOffer = await _offerService.Get <List <Data.ViewModel.OffersVM> >(new OfferSearchRequest()
            {
                ScheduleID = _scheduleID
            });

            if (listOffer.Count() > 0)
            {
                OfferVM = listOffer.First();
            }
            if (OfferVM != null)
            {
                if (OfferVM.partsSelected)
                {
                    OfferItemsVM = await _offerItemsService.GetById <Data.ViewModel.OfferItemsVM>(OfferVM.OfferID);
                }
            }
            RequestVM = await _requestClientService.GetById <Data.ViewModel.RequestVM>(scheduleVM.RequestID);

            dgvServicesList.AutoGenerateColumns = false;
            dgvServicesList.DataSource          = RequestVM.ListOfRequestedServices;
            if (OfferItemsVM != null)
            {
                if (OfferItemsVM.listOfParts.Count() > 0)
                {
                    foreach (var x in OfferItemsVM.listOfParts)
                    {
                        _selectedParts.Add(new SelectedPart()
                        {
                            Photo          = x.Photo,
                            CarPartName    = x.CarPartName,
                            Quality        = x.Quality,
                            QuantityNeeded = x.QuantityNeeded,
                            inTotal        = x.QuantityNeeded * x.CarPartPrice
                        });
                    }
                }
            }
            dgvCarPartsList.AutoGenerateColumns = false;
            dgvCarPartsList.DataSource          = _selectedParts;
        }
Example #3
0
        public ScheduleVM GetById(int id)
        {
            var entity = _context.Schedules.Include(s => s.ScheduleStatus).Include(s => s.Request).ThenInclude(r => r.User).ThenInclude(u => u.CarModel).Where(s => s.ScheduleID == id).SingleOrDefault();
            var model  = new Data.ViewModel.ScheduleVM()
            {
                ScheduleID       = entity.ScheduleID,
                RequestID        = entity.RequestID,
                DateofSchedule   = entity.DateofSchedule,
                Date             = entity.DateofSchedule.Day + "." + entity.DateofSchedule.Month + "." + entity.DateofSchedule.Year + " " + entity.DateofSchedule.Hour + ":" + entity.DateofSchedule.Minute,
                ScheduleStatusID = entity.ScheduleStatusID,
                Status           = entity.ScheduleStatus.name,
                isPaid           = entity.isPaid,
                totalPrice       = entity.totalPrice,
                User             = entity.Request.User.FirstName + " " + entity.Request.User.LastName,
                UserCar          = entity.Request.User.CarModel.CarModelName
            };
            var offerEntity = _context.Offers.Where(o => o.ScheduleID == id).SingleOrDefault();

            if (offerEntity != null)
            {
                model.offerCreated = true;
            }
            else
            {
                model.offerCreated = false;
            }


            if (entity.isPaid)
            {
                model.isPaidString = "DA";
            }
            else
            {
                model.isPaidString = "NE";
            }
            var OfferItemsListSelected = new List <Database.OfferItems>();

            if (offerEntity != null)
            {
                OfferItemsListSelected = _context.OfferItems.Include(i => i.CarPart).ThenInclude(i => i.SubCategory).Where(i => i.OfferID == offerEntity.OfferID).ToList();
            }
            var ItemsForSelect = _context.CarParts.Include(c => c.SubCategory).Where(c => c.CarServiceID == entity.Request.CarServiceID).Select(c => c.SubCategory).Distinct().ToList();

            model.selectedSubCategories = new List <Data.ViewModel.ScheduleVM.ItemsSelected>();
            foreach (var x in OfferItemsListSelected)
            {
                if (x.CarPart.Quality == "Quality II")
                {
                    model.selectedSubCategories.Add(new Data.ViewModel.ScheduleVM.ItemsSelected()
                    {
                        subCategoryID   = x.subCategoryID,
                        SubCategoryName = x.CarPart.SubCategory.SubCategoryName,
                        QuantityNeeded  = x.QuantityNeeded
                    });
                }
            }
            model.itemsforSelect = new List <Data.Model.CarPartSubCategory>();
            foreach (var x in ItemsForSelect)
            {
                model.itemsforSelect.Add(new Data.Model.CarPartSubCategory()
                {
                    SubCategoryID   = x.SubCategoryID,
                    SubCategoryName = x.SubCategoryName,
                    CategoryID      = x.CategoryID
                });
            }
            return(model);
        }
        private async void frmSetPayment_Load(object sender, EventArgs e)
        {
            scheduleVM = await _scheduleService.GetById <Data.ViewModel.ScheduleVM>(_scheduleID);


            txtTotalPrice.Text = scheduleVM.totalPrice.ToString() + " KM";

            if (scheduleVM.isPaid)
            {
                btnSetPayment.Visible   = false;
                txtLabelHeaderText.Text = "Informacije o uplati klijenta";
                var paymentsList = await _paymentService.Get <List <Data.Model.Payments> >(new PaymentSearchRequest()
                {
                    scheduleID = scheduleVM.ScheduleID
                });

                if (paymentsList.Count() > 0)
                {
                    var paymentModel = paymentsList.First();
                    if (paymentModel.PaymentTypeID == 2)
                    {
                        txtPaymentType.Text = "Online plaćeno kreditnom karticom";
                    }
                }
            }


            var listOffer = await _offerService.Get <List <Data.ViewModel.OffersVM> >(new OfferSearchRequest()
            {
                ScheduleID = _scheduleID
            });

            if (listOffer.Count() > 0)
            {
                OfferVM = listOffer.First();
            }
            if (OfferVM != null)
            {
                if (OfferVM.partsSelected)
                {
                    OfferItemsVM = await _offerItemsService.GetById <Data.ViewModel.OfferItemsVM>(OfferVM.OfferID);
                }
            }
            RequestVM = await _requestClientService.GetById <Data.ViewModel.RequestVM>(scheduleVM.RequestID);

            dgvServicesList.AutoGenerateColumns = false;
            dgvServicesList.DataSource          = RequestVM.ListOfRequestedServices;

            if (OfferItemsVM != null)
            {
                if (OfferItemsVM.listOfParts.Count() > 0)
                {
                    foreach (var x in OfferItemsVM.listOfParts)
                    {
                        _selectedParts.Add(new SelectedPart()
                        {
                            Photo          = x.Photo,
                            CarPartName    = x.CarPartName,
                            Quality        = x.Quality,
                            QuantityNeeded = x.QuantityNeeded,
                            inTotal        = x.QuantityNeeded * x.CarPartPrice
                        });
                    }
                }
            }
            dgvCarPartsList.AutoGenerateColumns = false;
            dgvCarPartsList.DataSource          = _selectedParts;
        }
        private async void frmScheduleDetails_Load(object sender, EventArgs e)
        {
            scheduleVM = await _scheduleService.GetById <Data.ViewModel.ScheduleVM>(_scheduleID);

            txtScheduleDate.Text          = scheduleVM.Date;
            txtClient.Text                = scheduleVM.User + " | " + scheduleVM.UserCar;
            txtStatusSchedule.Text        = scheduleVM.Status;
            txtIsPaidSchedule.Text        = scheduleVM.isPaidString;
            btnDeleteSchedule.Visible     = false;
            LabelTotalPrice.Visible       = false;
            txtTotalPrice.Text            = "";
            btnShowPaymentDetails.Visible = false;
            if (scheduleVM.offerCreated)
            {
                btnSendOffer.Enabled   = false;
                txtIsOfferSent.Visible = true;
                //cmbPartsSubCategories.Visible = false;

                btnAddToOfferList.Enabled = false;

                //txtSelectedCategory.Visible = false;
                //txtSubCategoryName.Visible = false;
                //txtQuantityNeeded.Visible = false;
                //txtNeededQuantity.Visible = false;
                txtNeededQuantity.ReadOnly = true;
                txtNeededQuantity.Enabled  = false;
            }
            else
            {
                cmbPartsSubCategories.Visible = true;
                btnSendOffer.Visible          = true;
                txtIsOfferSent.Visible        = false;
                btnAddToOfferList.Visible     = true;

                txtSelectedCategory.Visible = true;
                txtSubCategoryName.Visible  = true;
                txtQuantityNeeded.Visible   = true;
                txtNeededQuantity.Visible   = true;
            }
            if (scheduleVM.ScheduleStatusID == 2)
            {
                btnFinishSchedule.Visible = false;
                btnDeleteSchedule.Visible = true;

                var ticketList = await _ticketService.Get <List <Data.Model.Ticket> >(new TicketSearchRequest()
                {
                    ScheduleID = scheduleVM.ScheduleID
                });

                if (ticketList.Count() > 0)
                {
                    var ticketModel = ticketList.First();
                    if (ticketModel != null)
                    {
                        txtLabelCreateTicket.Text      = "Već ste poslali online račun klijentu!";
                        txtLabelCreateTicket.BackColor = System.Drawing.Color.Green;
                        btnCreateOnlineTicket.Enabled  = false;
                    }
                }

                if (scheduleVM.isPaid)
                {
                    btnSetPaymentDetails.Enabled  = false;
                    btnShowPaymentDetails.Visible = true;
                }


                var listOffer = await _offerService.Get <List <Data.ViewModel.OffersVM> >(new OfferSearchRequest()
                {
                    ScheduleID = scheduleVM.ScheduleID
                });

                if (listOffer.Count() > 0)
                {
                    OfferVM = listOffer.First();
                }
                if (OfferVM != null)
                {
                    if (OfferVM.partsSelected)
                    {
                        OfferItemsVM = await _offerItemsService.GetById <Data.ViewModel.OfferItemsVM>(OfferVM.OfferID);
                    }
                }
                RequestVM = await _requestClientService.GetById <Data.ViewModel.RequestVM>(scheduleVM.RequestID);

                double UkupnaCijena = 0;
                foreach (var x in RequestVM.ListOfRequestedServices)
                {
                    UkupnaCijena += x.ServicePrice;
                }
                if (OfferItemsVM != null)
                {
                    if (OfferItemsVM.listOfParts.Count() > 0)
                    {
                        foreach (var i in OfferItemsVM.listOfParts)
                        {
                            UkupnaCijena += i.CarPartPrice * i.QuantityNeeded;
                        }
                    }
                }
                LabelTotalPrice.Visible = true;
                txtTotalPrice.Text      = UkupnaCijena.ToString() + " KM";
                ScheduleSecondUpdateRequest req = new ScheduleSecondUpdateRequest()
                {
                    updateTotalPrice = true,
                    TotalPrice       = UkupnaCijena
                };
                await _scheduleSecondService.Update <Data.Model.Schedule>(scheduleVM.ScheduleID, req);
            }
            scheduleVM.itemsforSelect.Insert(0, new Data.Model.CarPartSubCategory()
            {
                SubCategoryID   = 0,
                SubCategoryName = "Odaberi podkategoriju dijela"
            });
            cmbPartsSubCategories.ValueMember   = "SubCategoryID";
            cmbPartsSubCategories.DisplayMember = "SubCategoryName";
            cmbPartsSubCategories.DataSource    = scheduleVM.itemsforSelect;

            dgvSelectedSubCategories.AutoGenerateColumns = false;
            dgvSelectedSubCategories.DataSource          = scheduleVM.selectedSubCategories;
        }