Beispiel #1
0
        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));
                }
            }
        }
Beispiel #2
0
        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));
                }
            }
        }