public ActionResult AddFuel(int consumption_value, string fuel_type, string date1, String equipmentId) { QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); //bug : depend on supply_tieuhao. using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { // only taken by each department. string department_id = Session["departID"].ToString(); Equipment e = DBContext.Equipments.Find(equipmentId); //check vehicle eq exist in department FuelDB check = DBContext.Database.SqlQuery <FuelDB>(@"select equipment_id , equipment_name from (select distinct e.equipment_id, e.equipment_name ,e.department_id from Equipment.Equipment e inner join Equipment.CategoryAttribute ea on ea.Equipment_category_id = e.Equipment_category_id where ea.Equipment_category_attribute_name = N'Số khung' or ea.Equipment_category_attribute_name = N'Số máy') as t where department_id = @department_id AND equipment_id = @equipmentId " , new SqlParameter("department_id", department_id) , new SqlParameter("equipmentId", equipmentId) ).First(); DateTime date = DateTime.ParseExact(date1, "dd/MM/yyyy", null); Supply s = DBContext.Supplies.Where(x => x.supply_id == fuel_type).First(); EditSupply_duphong(fuel_type, consumption_value); FuelActivitiesConsumption f = DBContext.Database.SqlQuery <FuelActivitiesConsumption>("select * from Equipment.FuelActivitiesConsumption " + "where fuel_type=@fueltype and equipment_id=@equipmentid and date=@date", new SqlParameter("fueltype", fuel_type), new SqlParameter("equipmentid", equipmentId), new SqlParameter("date", date)).FirstOrDefault(); if (f != null) { f.consumption_value = f.consumption_value + consumption_value; DBContext.Entry(f).State = EntityState.Modified; } else { FuelActivitiesConsumption fuel_Activities_Consumption = new FuelActivitiesConsumption() { department_id = department_id, consumption_value = consumption_value, equipment_id = equipmentId, fuel_type = fuel_type, date = DateTime.ParseExact(date1, "dd/MM/yyyy", null) }; DBContext.FuelActivitiesConsumptions.Add(fuel_Activities_Consumption); DBContext.SaveChanges(); } //Update : //get new DBContext.SaveChanges(); transaction.Commit(); return(Json("", JsonRequestBehavior.AllowGet)); } catch (Exception) { transaction.Rollback(); string output = ""; if (DBContext.Equipments.Where(x => x.equipment_id == equipmentId).Count() == 0) { output += "Mã thiết bị không tồn tại\n"; } if (output == "") { output += "Có lỗi xảy ra, xin vui lòng nhập lại"; } Response.Write(output); return(new HttpStatusCodeResult(400)); } } }
public ActionResult AddFuel(int consumption_value, string fuel_type, string date1, string equipmentId) { string output = ""; // only taken by each department. string department_id = Session["departID"].ToString(); QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { //check eq in department. //Only add equipment in deparment of user. Equipment e = DBContext.Equipments.Where(x => (x.department_id == department_id && x.equipment_id == equipmentId)).First(); Supply s = DBContext.Database.SqlQuery <Supply>("select * from Supply.Supply where supply_id=@fueltype", new SqlParameter("fueltype", fuel_type)).First(); DateTime date = DateTime.ParseExact(date1, "dd/MM/yyyy", null); FuelActivitiesConsumption f = DBContext.Database.SqlQuery <FuelActivitiesConsumption>("select * from Equipment.FuelActivitiesConsumption " + "where fuel_type=@fueltype and equipment_id=@equipmentid and date=@date", new SqlParameter("fueltype", fuel_type), new SqlParameter("equipmentid", equipmentId), new SqlParameter("date", date)).FirstOrDefault(); //Handling old equipment and supplies if (f != null) { f.consumption_value = f.consumption_value + consumption_value; DBContext.Entry(f).State = EntityState.Modified; } else { FuelActivitiesConsumption fuel_Activities_Consumption = new FuelActivitiesConsumption() { department_id = department_id, consumption_value = consumption_value, equipment_id = equipmentId, fuel_type = fuel_type, date = DateTime.ParseExact(date1, "dd/MM/yyyy", null) }; DBContext.FuelActivitiesConsumptions.Add(fuel_Activities_Consumption); } AddSupply_duphong(equipmentId, fuel_type, consumption_value); DBContext.SaveChanges(); transaction.Commit(); return(Json("", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { transaction.Rollback(); if (DBContext.Equipments.Where(x => x.equipment_id == equipmentId).Count() == 0) { output += "Mã thiết bị không tồn tại\n"; } if (output == "") { output += "Có lỗi xảy ra, xin vui lòng nhập lại"; } Response.Write(output); return(new HttpStatusCodeResult(400)); } } }