Example #1
0
        public async Task <(bool IsSuccess, Models.ViewModels.Vehicle Vehicle, string ErrorMessage)> PostVehicleAsync(VehicleRequest vehicle)
        {
            try
            {
                var newVehicle = new DB.Vehicle()
                {
                    CarModelID   = vehicle.CarModelID,
                    LicensePlate = vehicle.LicensePlate,
                    ModelYear    = vehicle.ModelYear
                };
                dBContext.Add(newVehicle);
                if (await dBContext.SaveChangesAsync() > 0)
                {
                    newVehicle = await dBContext.Vehicles.Include(m => m.CarModel).Include(m => m.CarModel.Make).Include(m => m.CarModel.VehicleCategory).Include(c => c.CarModel.FuelType).FirstOrDefaultAsync(v => v.ID == newVehicle.ID);

                    var result = mapper.Map <DB.Vehicle, Models.ViewModels.Vehicle>(newVehicle);
                    return(true, result, null);
                }
                return(false, null, "Failed to insert record.");
            }
            catch (Exception ex)
            {
                logger?.LogError(ex.ToString());
                return(false, null, ex.Message);
            }
        }
Example #2
0
 public async Task <(bool IsSuccess, Models.ViewModels.Vehicle Vehicle, string ErrorMessage)> DeleteVehicleAsync(int id)
 {
     try
     {
         var vehicle = new DB.Vehicle()
         {
             ID = id
         };
         dBContext.Remove(vehicle);
         if (await dBContext.SaveChangesAsync() > 0)
         {
             return(true, null, null);
         }
         return(false, null, "Failed to delete record.");
     }
     catch (Exception ex)
     {
         logger?.LogError(ex.ToString());
         return(false, null, ex.Message);
     }
 }
Example #3
0
        public Response AddNewVehicle(int plateNumber, string plateText, string plateModel, string plateColor, int userId)
        {
            Response response = new Response();

            int?PLATENUMBER = plateNumber;

            if (!PLATENUMBER.HasValue)
            {
                response.Msg = "fail, plateNumber required";
            }
            if (string.IsNullOrEmpty(plateModel))
            {
                response.Msg = "fail, plateModel required";
            }
            if (string.IsNullOrEmpty(plateColor))
            {
                response.Msg = "fail, plateColor required";
            }
            int?USERID = userId;

            if (!USERID.HasValue)
            {
                response.Msg = "fail, login first to add vehicles";
            }
            else
            {
                int plateTextId = 0;
                if (plateText != "" && plateText != null)
                {
                    using (VehiclesSystemEntities db = new VehiclesSystemEntities())
                    {
                        DB.PlateText plate = new DB.PlateText
                        {
                            Text = plateText
                        };
                        db.PlateTexts.Add(plate);
                        db.SaveChanges();
                        plateTextId = plate.Id;
                    }
                }
                using (VehiclesSystemEntities db = new VehiclesSystemEntities())
                {
                    DB.Vehicle vehicle = new DB.Vehicle
                    {
                        PlateNumber       = plateNumber,
                        PlateColor        = plateColor,
                        PlateModel        = plateModel,
                        UserId            = userId,
                        WaitingForApprove = true
                    };
                    if (plateTextId != 0)
                    {
                        vehicle.PlateTextId = plateTextId;
                    }
                    db.Vehicles.Add(vehicle);
                    db.SaveChanges();
                    response.Msg = "success";

                    var UserInfo = (from u in db.Users
                                    where u.Id == userId
                                    select u).FirstOrDefault();

                    //SendEmail(plateNumber, plateText, plateColor, plateModel, UserInfo.FirstName,UserInfo.LastName,UserInfo.MobileNumber, UserInfo.Email, UserInfo.Age);
                }
            }
            return(response);
        }