public RequestForSampleImagesChildWindow(TblRequestForSampleViewModel requestForSample)
        {
            InitializeComponent();

            _viewModel  = new RequestforSampleImageViewModel(requestForSample);
            DataContext = _viewModel;
        }
Esempio n. 2
0
        public RequestforSampleImageViewModel(TblRequestForSampleViewModel requestForSample)
        {
            RequestForSample = requestForSample;
            MainRowList      = new SortableCollectionView <TblStyleImageViewModel>();
            MainRowList.CollectionChanged += MainRowList_CollectionChanged;
            SelectedMainRow = new TblStyleImageViewModel();

            Client.GetTblRequestForSampleImageCompleted += (s, sv) =>
            {
                MainRowList.Clear();
                foreach (var row in sv.Result)
                {
                    var newrow = new TblStyleImageViewModel();
                    newrow.InjectFrom(row);
                    MainRowList.Add(newrow);
                }
                Loading = false;
            };

            Client.MaxIserialOfRequestForSampleImageCompleted += (s, sv) =>
            {
                FolderPath = "Uploads" + "/" + sv.imagePath;

                string folderName = FolderPath + "/" + RequestForSample.Code;

                var counter = 0;
                foreach (var item in MainRowList)
                {
                    if (item.Iserial == 0)
                    {
                        var maxIserial = sv.Result;

                        item.ImagePath  = folderName + "/" + maxIserial + counter + ".png";
                        item.FolderPath = folderName;
                        item.UploadFile(item.ImagePerRow);

                        counter++;
                    }
                }

                var isvalid = false;

                foreach (var tblStyleImageViewModel in MainRowList)
                {
                    isvalid = Validator.TryValidateObject(tblStyleImageViewModel, new ValidationContext(tblStyleImageViewModel, null, null), null, true);

                    if (!isvalid)
                    {
                        return;
                    }
                }

                if (isvalid)
                {
                    var savelist = new ObservableCollection <TblRequestForSampleImage>();
                    GenericMapper.InjectFromObCollection(savelist, MainRowList);

                    Client.UpdateOrInsertTblRequestForSampleImageAsync(savelist);
                }
            };
            Client.GetTblRequestForSampleImageAsync(RequestForSample.Iserial);
            Client.UpdateOrInsertTblRequestForSampleImageCompleted += (s, x) => Client.GetTblRequestForSampleImageAsync(RequestForSample.Iserial);

            Client.DeleteTblRequestForSampleImageCompleted += (s, ev) =>
            {
                if (ev.Error != null)
                {
                    throw ev.Error;
                }

                var oldrow = MainRowList.FirstOrDefault(x => x.Iserial == ev.Result);
                if (oldrow != null)
                {
                    MainRowList.Remove(oldrow);
                }
            };
        }