Example #1
0
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public DetailVm()
        {
            CultureInfo.DefaultThreadCurrentCulture   = new CultureInfo("de-DE");
            CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("de-DE");

            msg.Register <GenericMessage <OrderSummary> >(this, ChangeSelected);

            AllStatuses = new string[] { "Abgeschlossen", "Angenommen", "Nicht bestätigt", "Auftrag ablehnen" };

            SelectedJob = new OrderSummary();
            OS          = new DetailedClass();

            Dp = new Dataprovider();


            BtnSyncWithBackend = new RelayCommand(() => StartSync());
            MyClassInitialize();



            BtnApplyChanges    = new RelayCommand(() => ApplyChanges());
            BtnCreateReport    = new RelayCommand(() => CreateReport());
            BtnAppendDocuments = new RelayCommand(() => AppendDocuments());


            //CreateDemoData();
        }
        public DetailVm()
        {

            CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("de-DE");
            CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("de-DE");

            msg.Register<GenericMessage<OrderSummary>>(this, ChangeSelected);

            AllStatuses = new string[] { "Abgeschlossen", "Angenommen", "Nicht bestätigt", "Auftrag ablehnen" };

            SelectedJob = new OrderSummary();
            OS = new DetailedClass();

            Dp = new Dataprovider();


            BtnApplyChanges = new RelayCommand(() => ApplyChanges());
            BtnCreateReport = new RelayCommand(() => CreateReport());
            BtnAppendDocuments = new RelayCommand(() => AppendDocuments());

            BtnAddPicture = new RelayCommand<OrderItemReport_>(
                (p) =>
                {
                    OpenFileDialog openFileDialog = new OpenFileDialog
                    {
                        Title = "Select a picture",
                        Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png"
                    };
                    if ((bool)openFileDialog.ShowDialog())
                    {
                        int i = 0;
                        foreach (var item in SelectedDetailed.OrderItemReports)
                        {
                            item.Visibility = "Collapsed";

                            if (p == item)
                            {
                                SelectedDetailed.OrderItemReports[i].Appendix.Add(new OrderItemReportAppendix()
                                {
                                    OrderItemReportId = item.Id ,
                                    Picture = ImageConverter.ImageToByteArray(new BitmapImage(new Uri(openFileDialog.FileName, UriKind.Absolute)))

                                });

                                item.Visibility = "Visible"; //TODO: Does it work?
                                RaisePropertyChanged(nameof(SelectedDetailed));

                            }
                            RaisePropertyChanged(nameof(item.Visibility));
                            i++;
                        }
                    }

                });
            CreateDateTime("4:45");
            //CreateDemoData();
        }
Example #3
0
        //Updated Änderungen am Detailitem
        public bool UpdateOrderItemData(DetailedClass DetailToUpdate)
        {
            dbContext = new DbServiceProviderAppEntities();
            //Auswerten des Order_item aus der DB
            order_item OriginalOrderItem = (from oi in dbContext.order_item
                                            where oi.Id == DetailToUpdate.OrderItemId
                                            select oi).FirstOrDefault(); //changed from first() to firstordefault()

            //order_item OriginalOrderItem = new order_item();
            if (OriginalOrderItem != null)
            {
                //Änderungsfähige Daten übernehmen
                OriginalOrderItem.addittional_cost         = DetailToUpdate.AddittionalCost;
                OriginalOrderItem.final_price              = DetailToUpdate.Finalprice;
                OriginalOrderItem.is_all_inclusive         = DetailToUpdate.IsAllInclusive;
                OriginalOrderItem.is_confirmed             = DetailToUpdate.IsConfirmed;
                OriginalOrderItem.is_finished              = DetailToUpdate.IsFinished;
                OriginalOrderItem.preferred_date_time      = DetailToUpdate.PreferedDate;
                OriginalOrderItem.service_provider_comment = DetailToUpdate.ServiceProviderComment;
                OriginalOrderItem.final_price_without_tax  = OriginalOrderItem.final_price / 1.2; //Falls der Final_Price geändert wurde
                OriginalOrderItem.final_price_with_tax     = OriginalOrderItem.final_price;       //Falls der Final_Price geändert wurde
                OriginalOrderItem.tax          = OriginalOrderItem.final_price_with_tax - OriginalOrderItem.final_price_without_tax;
                OriginalOrderItem.per_item_tax = OriginalOrderItem.tax / OriginalOrderItem.quantity;
                OriginalOrderItem.createdAt    = DateTime.Now;


                //schreiben der Änderung in die spa_changes Tabelle
                spa_changes chng = new spa_changes();
                chng.order_id    = OriginalOrderItem.Id;
                chng.change_date = DateTime.Now;

                dbContext.Set <spa_changes>().Add(chng);

                //Änderungen speichern

                dbContext.SaveChanges();

                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #4
0
        public DetailedClass QueryDetailView(long OrderItemId)
        {
            dbContext = new DbServiceProviderAppEntities();

            var query = (from od in dbContext.order_detail
                         join oi in dbContext.order_item on od.order_id equals oi.order_id
                         join sv in dbContext.service on oi.service_id equals sv.Id
                         join oh in dbContext.order_header on od.order_id equals oh.Id
                         join cr in dbContext.sow_user on oh.sow_user_id equals cr.Id
                         where oi.Id == OrderItemId
                         select new { od, oi, sv, oh, cr })
                        .AsEnumerable()
                        .Select(x => new DetailedClass()
            {
                CustomerId             = x.cr.Id,
                Firstname              = x.od.first_name,
                Lastname               = x.od.last_name,
                Address                = String.Format("{0} {1}", x.od.address_1, x.od.address_2),
                Zip                    = x.od.zip,
                City                   = x.od.city,
                Phone                  = x.od.phone_2,
                Email                  = x.cr.email,
                OrderItemId            = x.oi.Id,
                PreferedDate           = x.oi.preferred_date_time,
                Servicedescription     = x.sv.name,
                BookedItems            = x.oi.quantity,
                IsAllInclusive         = x.oi.is_all_inclusive,
                Finalprice             = x.oi.final_price,
                OrderedDateTime        = x.oi.createdAt,
                CustomerNotice         = x.oh.customer_note,
                IsFinished             = x.oi.is_finished,
                OrderId                = x.oi.order_id,
                IsConfirmed            = x.oi.is_confirmed,
                AddittionalCost        = x.oi.addittional_cost,
                ServiceProviderComment = x.oi.service_provider_comment,
                ServiceUnit            = x.sv.service_unit
            });

            DetailedClass RetVal = query.Single();

            // Holen der Order_Item_Reports zum Order_Item
            var queryReport = from oim in dbContext.order_item_report
                              where oim.order_item_id == OrderItemId
                              select new OrderItemReport
            {
                Id         = oim.Id,
                Comment    = oim.comment,
                ReportDate = oim.report_date
            };
            List <OrderItemReport> OIM = queryReport.ToList();

            // Holen der Order_Item_Report_Appendix zu allen Order_Item_Reports
            for (int i = 0; i < OIM.Count; i++)
            {
                int OrderITemReportId = OIM[i].Id;

                var queryAppendix = from oima in dbContext.order_item_report_appendix
                                    where oima.order_item_report_id == OrderITemReportId
                                    select new OrderItemReportAppendix
                {
                    Id = oima.Id,
                    OrderItemReportId = oima.order_item_report_id,
                    Picture           = oima.appendix
                };

                List <OrderItemReportAppendix> OIMA = queryAppendix.ToList();
                OIM[i].Appendix = OIMA;
            }
            RetVal.OrderItemReports = OIM;

            return(RetVal);
        }