//报修设备申请 private void Device_Repair(object sender, RoutedEventArgs e) { if (moveGrid.Children != null) { moveGrid.Children.Clear(); } RepairEquipment _RepairEquipment = DeviceMigrationsFactory.RepairEquipment; EquipmentClass _Eclass = new EquipmentClass(); //Equipments _Repair = DeviceMigrationsFactory.Equipments; //EquipmentClass _Eclass = new EquipmentClass(); // DataSet _OutSet = _Eclass.getWorkEquipment(); DataSet _OutSet = _Eclass.getRepairEquipment(); _RepairEquipment.page.ShowPages(_RepairEquipment.repair_Grid, _OutSet, BaseRequest.PAGE_SIZE); moveGrid.Children.Add(_RepairEquipment); _RepairEquipment.SetValue(Grid.RowProperty, 0); _RepairEquipment.SetValue(Grid.ColumnProperty, 0); }
public ActionResult Add(string out_in_come, string data, string department_id_to, string reason) { JArray json = JArray.Parse(data); QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { Documentary documentary = new Documentary { documentary_type = 1, department_id_to = department_id_to, date_created = DateTime.Now, person_created = Session["Name"] + "", reason = reason, out_income = out_in_come, documentary_status = 1 }; DBContext.Documentaries.Add(documentary); DBContext.SaveChanges(); // Vị trí của thiết bị con được lấy theo vị trí của thiết bị to List <string> list = new List <string>(); foreach (JObject item in json) { list.Add(item["attachTo"].Type == JTokenType.Null ? item["equipmentId"].ToString() : item["attachTo"].ToString()); } var dict = (from e in DBContext.Equipments join d in DBContext.Departments on e.department_id equals d.department_id where list.Contains(e.equipment_id) select new { e.equipment_id, d.department_id }) .Select(x => new { x.equipment_id, x.department_id }) .AsEnumerable() .ToDictionary(d => d.equipment_id, d => d.department_id); foreach (JObject item in json) { DateTime finish_date_plan = DateTime.ParseExact((string)item["date"], "dd/MM/yyyy", null); string equipmentId = item["equipmentId"].ToString(); string attach_to = item["attachTo"].Type == JTokenType.Null ? null : item["attachTo"].ToString(); RepairDetail drd = new RepairDetail { department_id_from = attach_to == null ? dict[equipmentId] : dict[attach_to], equipment_repair_status = 0, repair_type = item["type"].ToString(), repair_reason = item["reason"].ToString(), finish_date_plan = finish_date_plan, documentary_id = documentary.documentary_id, equipment_id = equipmentId, attach_to = attach_to, is_visible = true, quantity = int.Parse(item["quantity"].ToString()) }; DBContext.RepairDetails.Add(drd); DBContext.SaveChanges(); bool used = false; JObject vattu = (JObject)item["supply"]; if (vattu != null) { foreach (var jObject in vattu) { RepairEquipment sde = new RepairEquipment { documentary_repair_id = drd.documentary_repair_id, supply_id = jObject.Key, quantity_plan = int.Parse(jObject.Value.ToString()), }; used = true; DBContext.RepairEquipments.Add(sde); } DBContext.SaveChanges(); } JObject thietbi = (JObject)item["equipment"]; if (thietbi != null) { foreach (var jObject in thietbi) { RepairEquipment sde = new RepairEquipment { documentary_repair_id = drd.documentary_repair_id, equipment_id = jObject.Key, quantity_plan = int.Parse(jObject.Value.ToString()), }; used = true; DBContext.RepairEquipments.Add(sde); } DBContext.SaveChanges(); } if (!used) { transaction.Rollback(); string message = "Thiết bị " + (attach_to == null ? (equipmentId + " chưa được chọn thiết bị con hoặc vật tư") : (attach_to + $" ({equipmentId}) chưa được chọn vật tư")); return(Json(new { success = false, message = "Thiết bị chưa được chọn" })); } } transaction.Commit(); return(Json(new { success = true })); } catch (Exception) { transaction.Rollback(); return(Json(new { success = false, message = "Có lỗi xảy ra" })); } } }