public void Copy(int id) { //Base var material = _db.Materials.Find(id); var newMaterial = new SpecDomain.Model.Material(); MyReflection.Copy(material, newMaterial); newMaterial.Remark = "Copy -- " + newMaterial.Remark; _db.Materials.Add(newMaterial); _db.SaveChanges(); //Price var price = _db.MaterialPrices.Find(newMaterial.PriceID); var newPrice = new MaterialPrice(); MyReflection.Copy(price, newPrice); newPrice.MaterialID = newMaterial.MaterialID; _db.MaterialPrices.Add(newPrice); _db.SaveChanges(); //Update New Material Price newMaterial.PriceID = newPrice.PriceID; _db.Entry(newMaterial).State = EntityState.Modified; _db.SaveChanges(); }
private void InitializeNames(SpecDomain.Model.Material material) { CategoryName0 = CategoryID0 == 0 ? "" : material.MaterialCategory0.CategoryName; CategoryName1 = CategoryID1 == 0 ? "" : material.MaterialCategory1.CategoryName; CategoryName2 = CategoryID2 == 0 ? "" : material.MaterialCategory2.CategoryName; CategoryName3 = CategoryID3 == 0 ? "" : material.MaterialCategory3.CategoryName; CategoryName4 = CategoryID4 == 0 ? "" : material.MaterialCategory4.CategoryName; MaterialName = CategoryName1 + " " + CategoryName2 + " " + CategoryName3 + " " + CategoryName4; }
public void Insert() { //Insert Categories if not exist var mc0 = new MyMaterialCategory0(); CategoryID0 = mc0.CreateCategoryID(CategoryID0, 0, CategoryName0); var mc1 = new MyMaterialCategory1(); CategoryID1 = mc1.CreateCategoryID(CategoryID1, CategoryID0, CategoryName1); var mc2 = new MyMaterialCategory2(); CategoryID2 = mc2.CreateCategoryID(CategoryID2, CategoryID1, CategoryName2); var mc3 = new MyMaterialCategory3(); CategoryID3 = mc3.CreateCategoryID(CategoryID3, CategoryID2, CategoryName3); var mc4 = new MyMaterialCategory4(); CategoryID4 = mc4.CreateCategoryID(CategoryID4, CategoryID3, CategoryName4); //1. Insert material var material = new SpecDomain.Model.Material(); MyReflection.Copy(this, material); _db.Materials.Add(material); _db.SaveChanges(); //2. Insert Price var price = new MaterialPrice { MaterialID = material.MaterialID, UnitID = UnitID, Price = Price, InvoicePriceUnitID = UnitID, VenderID = 0, Active = true }; _db.MaterialPrices.Add(price); _db.SaveChanges(); //3. Update Price material.PriceID = price.PriceID; material.UnitID = price.UnitID; material.Price = Price; _db.Entry(material).State = EntityState.Modified; _db.SaveChanges(); }
public DbMaterialCreateNewVm() { var vm = new FanMaterialCostBases(); foreach (var fan in vm.Values) { var material = new SpecDomain.Model.Material() { //public int DbItemID { get; set; } //TypeID = 120, //Name = fan.CostItemName, //Unit = fan.Unit, //UnitPrice = fan.UnitPrice, }; _db.Materials.Add(material); } _db.SaveChanges(); }
public void Refresh(SpecDomain.Model.Material material) { //Value Value = material; //Values var db = new SpecificationDbEntities(); Values = new List <MaterialBase>(); var materials = db.Materials.Where(x => Value.CategoryID0 > 0 && Value.CategoryID0 == x.CategoryID0 && (Value.CategoryID1 == 0 || x.CategoryID1 == Value.CategoryID1) && (Value.CategoryID2 == 0 || x.CategoryID2 == Value.CategoryID2) && (Value.CategoryID3 == 0 || x.CategoryID3 == Value.CategoryID3) ).OrderBy(x => x.MaterialCategory1.CategoryName) .ThenBy(x => x.MaterialCategory2.CategoryName) .ThenBy(x => x.MaterialCategory3.CategoryName) .ThenBy(x => x.MaterialCategory4.CategoryName) .ToList(); foreach (var m in materials) { var mb = new MaterialBase(m); Values.Add(mb); } //Dropdownlist var temp0 = db.MaterialCategory0.Where(x => x.CategoryID >= 0) .OrderBy(x => x.CategoryName) .ToList(); Categories0 = temp0.Select(x => new SelectListItem { Value = Convert.ToString(x.CategoryID), Text = x.CategoryName }); }
private void InitializePrice(SpecDomain.Model.Material material) { CurrentPrice = string.Format("{0:C2}", material.Price); UnitName = material.MaterialPriceUnit.UnitName; }
public MaterialBase(SpecDomain.Model.Material material) { MyReflection.Copy(material, this); InitializeNames(material); InitializePrice(material); }
public MaterialDeleteVm(int materialID) { _material = _db.Materials.FirstOrDefault(x => x.MaterialID == materialID); DeleteValidation = GetValidateResult(); }