object IMatetrialRepository.CreateViewModel(MetalBatch batch)
        {
            var vm = base.CreateViewModel(batch);

            viewModel = (MetalViewModel <ProjectCost>)vm;
            return(vm);
        }
        protected object CreateViewModel(MetalBatch batch)
        {
            ObservableCollection <T> details;

            try
            {
                //if(batch!=null &&batch?.batchNo == "default")
                //    details = Newtonsoft.Json.JsonConvert.DeserializeObject<ObservableCollection<T>>(File.ReadAllText(metalBasePath + "default.json"));
                //else if(batch==null)
                //    details = new ObservableCollection<T>();
                //else
                details = Newtonsoft.Json.JsonConvert.DeserializeObject <ObservableCollection <T> >(File.ReadAllText(metalBasePath + batch.batchNo + ".json"));
            }
            catch (Exception)
            {
                details = new ObservableCollection <T>();
            }

            if (batch?.batchNo == "default")
            {
                batch = null;
            }

            return(new MetalViewModel <T>
            {
                Batches = GetBatches(),
                Details = details,
                CurrentBatch = batch ?? new MetalBatch {
                    batchType = GetBatchType()
                }
            });
        }
Esempio n. 3
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            MetalBatch batch = (MetalBatch)value;

            if (batch != null)
            {
                return($"表格录入  {batch.batchType}   批次-{batch.batchNo}  汇率-{Sys.ExchangeRate.FirstOrDefault()?.Current}");
            }
            else
            {
                return("表格录入");
            }
        }
        public virtual void Save(object dataContext)
        {
            var viewModel = dataContext as MetalViewModel <T>;
            var metals    = Newtonsoft.Json.JsonConvert.SerializeObject(viewModel.Details);

            var batchNo = viewModel.BatchInput.Trim();

            if (viewModel.CurrentBatch.batchNo.Equals(String.Empty))
            {
                //文件名不能为空
                if (batchNo.Equals(string.Empty))
                {
                    throw new Exception("文件名不能为空");
                }
                //文件已存在
                if (File.Exists(metalBasePath + batchNo + ".json"))
                {
                    throw new Exception("批次已存在");
                }
            }
            else
            {
                batchNo = viewModel.CurrentBatch.batchNo;
            }
            //保存
            File.WriteAllText(metalBasePath + batchNo + ".json", metals);
            var batch = new MetalBatch {
                batchNo = batchNo, batchType = GetBatchType()
            };

            if (viewModel.Batches.Where(x => x.batchNo == batch.batchNo).Count() == 0)
            {
                viewModel.Batches.Add(batch);
                viewModel.CurrentBatch = batch;
            }
        }
 void IMatetrialRepository.DeleteBatch(object dataContext, MetalBatch batch)
 {
     base.DeleteBatch(dataContext, batch);
 }
 object IMatetrialRepository.CreateViewModel(MetalBatch batch)
 {
     return(base.CreateViewModel(batch));
 }
Esempio n. 7
0
 public new void DeleteBatch(object dataContext, MetalBatch batch)
 {
     base.DeleteBatch(dataContext, batch);
 }
Esempio n. 8
0
 public new object CreateViewModel(MetalBatch batch = null)
 {
     return(base.CreateViewModel(batch));
 }
 protected virtual void DeleteBatch(object dataContext, MetalBatch batch)
 {
     File.Delete(metalBasePath + batch.batchNo + ".json");
     (dataContext as MetalViewModel <T>).Batches.Remove(batch);
 }