public JsonResult Cart(VerificationMessages msg) { if (Session["User_Name"] == null) { return(Json(1)); } VehiclesDbHandle dbhandle = new VehiclesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; msg.Result = dbhandle.ReserveVehicle(Convert.ToString(Session["User_Name"])); if (msg.Result == -1) { msg.Message = "This vehicle has been already reserved!"; msg.DisplayError = true; } else if (msg.Result == 3) { msg.Message = "The cart is empty!"; msg.DisplayError = true; } else { msg.Message = "You have successfully reserved the vehicle! You may find more information in your profile."; msg.DisplaySuccess = true; } return(Json(msg)); }
public JsonResult SaveUserPassword(string PasswordRechek, VerificationMessages msg) { UsersDbHandle dbhandle = new UsersDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(PasswordRechek) || PasswordRechek.Trim().Length < 6) { msg.Result = -2; } else { PasswordRechek = EncryptWithMD5(PasswordRechek); msg.Result = dbhandle.Update_Password(PasswordRechek.Trim(), Convert.ToString(Session["User_Name"]).Trim()); } if (msg.Result == -2) { msg.DisplayError = true; msg.Message = "Please fill up the password!"; } else { msg.DisplaySuccess = true; msg.Message = "The password has been successfully changed!"; } return(Json(msg)); }
public JsonResult Details(string PickUp_Date, string Return_Date, string Id, VerificationMessages msg) { if (Session["User_Name"] == null) { return(Json(1)); } if (string.IsNullOrEmpty(PickUp_Date) || string.IsNullOrEmpty(Return_Date)) { msg.DisplayError = true; msg.Message = "Please choose date!"; return(Json(msg)); } VehiclesDbHandle dbhandle = new VehiclesDbHandle(); ViewBag.DetailsVehicle = dbhandle.GetFullDetailsVehicles(Id); msg.Result = 0; msg.Message = string.Empty; msg.RedirectLink = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (!string.IsNullOrEmpty("Id") && Session["User_Name"] != null) { msg.Result = dbhandle.AddVehicleToCart(Convert.ToString(Session["User_Name"]).Trim(), Id.Trim(), PickUp_Date.Trim(), Return_Date.Trim()); if (msg.Result == -1) { msg.Message = "You can only have 1 item in the cart!"; msg.DisplayError = true; } else if (msg.Result == -2) { msg.Message = "This vehicle has been already reserved!"; msg.DisplayError = true; } else { msg.Message = "The vehicle has been successfully added to the cart!"; msg.DisplaySuccess = true; } } else { msg.Message = "Please login to continue!"; msg.DisplayError = true; } return(Json(msg)); }
public JsonResult Register(Users smodel, VerificationMessages msg) { msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(smodel.User_UserName) || string.IsNullOrEmpty(smodel.User_EmailAddress) || string.IsNullOrEmpty(smodel.User_FirstName) || string.IsNullOrEmpty(smodel.User_LastName) || string.IsNullOrEmpty(smodel.User_Address) || string.IsNullOrEmpty(smodel.User_PostalCode) || (string.IsNullOrEmpty(smodel.User_PhoneNumber) || smodel.User_PhoneNumber.Trim().Length < 6 || smodel.User_PhoneNumber.Trim().Length > 20) || (string.IsNullOrEmpty(smodel.User_Password) || smodel.User_Password.Trim().Length < 6 || smodel.User_Password.Trim().Length > 20)) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } smodel.User_Password = EncryptWithMD5(smodel.User_Password.Trim()); UsersDbHandle dbHandle = new UsersDbHandle(); msg.Result = dbHandle.AddUser(smodel); if (msg.Result == -1) { msg.Message = "The username already exists! Please use different username."; msg.DisplayError = true; } else if (msg.Result == -2) { msg.Message = "The email address which you are trying to use has been already taken."; msg.DisplayError = true; } else { msg.Message = "The registration has been done successfully! You may now login to the personal area."; msg.DisplaySuccess = true; } return(Json(msg)); }
public JsonResult Login(string UserName, string Password, VerificationMessages msg) { msg.Result = 0; msg.Message = string.Empty; msg.RedirectLink = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(UserName) || string.IsNullOrEmpty(Password)) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } Password = EncryptWithMD5(Password.Trim()); UsersDbHandle dbHandle = new UsersDbHandle(); msg.Result = dbHandle.LoginUser(UserName, Password); if (msg.Result == -1) { msg.DisplayError = true; msg.Message = "The username or password are incorrect. Please try again!"; } else { Session["User_Role"] = msg.Result; Session["User_Name"] = UserName; msg.NeedToRedirect = true; msg.RedirectLink = Url.Action("Index", "Home"); } return(Json(msg)); }
public ActionResult RemoveItemFromCart(string Id, VerificationMessages msg) { if (Session["User_Name"] == null || string.IsNullOrEmpty(Id)) { return(RedirectToAction("Index", "Home")); } VehiclesDbHandle dbhandle = new VehiclesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = true; msg.Result = dbhandle.RemoveItemFromCart(Id, Convert.ToString(Session["User_Name"])); msg.Message = "The item has been successfully removed from the cart!"; msg.DisplaySuccess = true; msg.RedirectLink = Url.Action("Index", "Home"); return(Json(msg)); }
public JsonResult DeleteVehicle(string Id, VerificationMessages msg) { VehiclesDbHandle dbhandle = new VehiclesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(Id.Trim())) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } msg.Result = dbhandle.DeleteVehicle(Id.Trim()); msg.DisplaySuccess = true; msg.Message = "The vehicle has been successfully deleted!"; return(Json(msg)); }
public JsonResult ApproveLicence(string Id, VerificationMessages msg) { LicencesDbHandle dbhandle = new LicencesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(Id.Trim())) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } msg.Result = dbhandle.ApproveLicence(Id.Trim()); msg.DisplaySuccess = true; msg.Message = "The licence has been successfully approved!"; return(Json(msg)); }
public JsonResult DeleteReservedVehicle(string Id, VerificationMessages msg) { VehiclesDbHandle dbhandle = new VehiclesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(Id.Trim())) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } msg.Result = dbhandle.DeleteReservedVehicleForUser(Convert.ToString(Session["User_Name"]).Trim(), Id.Trim()); msg.DisplaySuccess = true; msg.Message = "The vehicle has been deleted!"; return(Json(msg)); }
public async Task <string> GetFile(byte[] fileHash) { var requestMessage = new GetFileMessage(fileHash); var subDir = new DirectoryInfo(Path.Combine(TempStorageDirectory, Hasher.GetDirectoryNameFromHash(fileHash))); if (!subDir.Exists) { subDir.Create(); } var fileName = Hasher.GetFileNameFromHash(fileHash); var filePath = Path.Combine(subDir.FullName, fileName); FilesInProgress.Add(fileHash, File.OpenWrite(filePath)); await Communicator.SendMessage(requestMessage); // wait for transfer var gotVerificationMessage = false; string resultsPath = null; while (!gotVerificationMessage) { if (VerificationMessages.ContainsKey(fileHash)) { var verifyMessage = VerificationMessages[fileHash] as FileStoredVerificationMessage; resultsPath = (verifyMessage?.Success ?? false) ? verifyMessage.FilePath : null; VerificationMessages.Remove(fileHash); gotVerificationMessage = true; } await Task.Delay(1); } return(resultsPath); }
public JsonResult UploadVehicle(string VehicleName, string VehiclePrice, string VehicleYear, string VehicleLong, string VehicleLat, HttpPostedFileBase FileVehicle, FormCollection form, VerificationMessages msg) { VehiclesDbHandle dbhandle = new VehiclesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(VehicleName.Trim()) || string.IsNullOrEmpty(VehiclePrice.Trim()) || string.IsNullOrEmpty(VehicleYear.Trim()) || string.IsNullOrEmpty(VehicleLong.Trim()) || string.IsNullOrEmpty(VehicleLat.Trim())) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } string VehicleCategories = form["VehicleCategories"].ToString(); string VehicleType = form["VehicleType"].ToString(); string VehicleReFillType = form["VehicleReFillType"].ToString(); string extension = Path.GetExtension(FileVehicle.FileName); FileVehicle.SaveAs(Server.MapPath("/Content/images/vehiclesclients/") + VehicleName.Trim() + Convert.ToString(Session["User_Name"]).Trim() + extension); msg.Result = dbhandle.AddVehicleAdmin(VehicleName, VehiclePrice, VehicleCategories, VehicleType, VehicleReFillType, VehicleYear, VehicleLong, VehicleLat, Convert.ToString(Session["User_Name"]).Trim(), extension); msg.DisplaySuccess = true; msg.Message = "The vehicle has been successfully added!"; return(Json(msg)); }
public JsonResult SaveUserDetails(string EmailAddressRechek, string PhoneNumberRechek, string AddressRechek, string PostalCodeRechek, VerificationMessages msg) { UsersDbHandle dbhandle = new UsersDbHandle(); msg.Result = 3; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (((TempData["User_Details"] as IEnumerable <Users>).FirstOrDefault().User_EmailAddress) != EmailAddressRechek.Trim()) { if (string.IsNullOrEmpty(EmailAddressRechek)) { msg.Result = -2; } else { msg.Result = dbhandle.Update_EmailAddress(EmailAddressRechek.Trim(), Convert.ToString(Session["User_Name"])); if (msg.Result == -1) { msg.DisplayError = true; msg.Message = "The email already exist! Please use different email address."; } } } if (((TempData["User_Details"] as IEnumerable <Users>).FirstOrDefault().User_PhoneNumber) != PhoneNumberRechek.Trim()) { if (string.IsNullOrEmpty(PhoneNumberRechek)) { msg.Result = -2; } else { msg.Result = dbhandle.Update_PhoneNumber(PhoneNumberRechek.Trim(), Convert.ToString(Session["User_Name"])); } } if (((TempData["User_Details"] as IEnumerable <Users>).FirstOrDefault().User_Address) != AddressRechek.Trim()) { if (string.IsNullOrEmpty(AddressRechek)) { msg.Result = -2; } else { msg.Result = dbhandle.Update_Address(AddressRechek.Trim(), Convert.ToString(Session["User_Name"])); } } if (((TempData["User_Details"] as IEnumerable <Users>).FirstOrDefault().User_PostalCode) != PostalCodeRechek.Trim()) { if (string.IsNullOrEmpty(PostalCodeRechek)) { msg.Result = -2; } else { msg.Result = dbhandle.Update_PostalCode(PostalCodeRechek.Trim(), Convert.ToString(Session["User_Name"])); } } if (msg.Result == -2) { msg.DisplayError = true; msg.Message = "Please fill up the needed information!"; } else if (msg.Result != 3) { msg.DisplaySuccess = true; msg.Message = "The information has been successfully changed!"; } TempData["User_Details"] = dbhandle.GetDetailsForSpecificUser(Convert.ToString(Session["User_Name"])); return(Json(msg)); }
public JsonResult AddCreditCard(string CCFullName, string CCNumber, string CCMM, string CCYY, string CCSecretCode, VerificationMessages msg) { UsersDbHandle dbhandle = new UsersDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(CCFullName) || string.IsNullOrEmpty(CCNumber) || string.IsNullOrEmpty(CCMM) || string.IsNullOrEmpty(CCYY) || string.IsNullOrEmpty(CCSecretCode)) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } msg.Result = dbhandle.AddCreditCard(CCFullName, CCNumber, CCMM, CCYY, CCSecretCode, Convert.ToString(Session["User_Name"]).Trim()); if (msg.Result == -1) { msg.DisplayError = true; msg.Message = "You have already added a credit card to your account! Please remove it and try again."; } else { msg.DisplaySuccess = true; msg.Message = "The credit card has been successfully added to your account!"; } return(Json(msg)); }
public JsonResult UploadUserLicence(string NumberLic, string NameLic, string BirthDateLic, string IssueDateLic, string CategoryLic, HttpPostedFileBase FileLic, VerificationMessages msg) { LicencesDbHandle dbhandle = new LicencesDbHandle(); msg.Result = 0; msg.Message = string.Empty; msg.DisplaySuccess = false; msg.DisplayError = false; msg.NeedToRedirect = false; if (string.IsNullOrEmpty(NumberLic) || string.IsNullOrEmpty(NameLic) || string.IsNullOrEmpty(BirthDateLic) || string.IsNullOrEmpty(IssueDateLic) || string.IsNullOrEmpty(CategoryLic)) { msg.DisplayError = true; msg.Message = "Invalid!"; return(Json(msg)); } string extension = Path.GetExtension(FileLic.FileName); FileLic.SaveAs(Server.MapPath("/Content/images/user_licences/") + Convert.ToString(Session["User_Name"]).Trim() + extension); msg.Result = dbhandle.AddLicence(NameLic, NumberLic, BirthDateLic, IssueDateLic, CategoryLic, Convert.ToString(Session["User_Name"]).Trim(), extension); if (msg.Result == -1) { msg.DisplayError = true; msg.Message = "The licence has been been already added to your account!"; } else { msg.DisplaySuccess = true; msg.Message = "The licence has been successfully added!"; } return(Json(msg)); }
public async Task <bool> StoreFile(IBackupFile file, byte[] hash) { var success = false; await Communicator.SendMessage(new FileStartMessage(hash)); var totalBytes = file.Length; var buffer = new byte[BufferSize]; var position = 0L; var remainingBytes = totalBytes; var message = new FileChunckMessage() { FileHash = hash }; if (FileTransferResponse.ContainsKey(hash)) { FileTransferResponse.Remove(hash); } FileTransferResponse.Add(hash, false); using (var fileStream = file.OpenRead()) { while (position < totalBytes) { var bytesToRead = (int)((remainingBytes > BufferSize) ? BufferSize : remainingBytes); if (bytesToRead < BufferSize) { buffer = new byte[bytesToRead]; } position += fileStream.Read(buffer, 0, bytesToRead); remainingBytes = totalBytes - position; message.FileData = buffer; await Communicator.SendMessage(message); while (!FileTransferResponse[hash]) { await Task.Delay(1); } FileTransferResponse[hash] = false; } } await Communicator.SendMessage(new FileEndMessage(hash)); // Watch the inbound messages for a verification message var gotVerificationMessage = false; while (!gotVerificationMessage) { if (VerificationMessages.ContainsKey(hash)) { var verifyMessage = VerificationMessages[hash] as FileStoredVerificationMessage; success = verifyMessage?.Success ?? false; VerificationMessages.Remove(hash); gotVerificationMessage = true; } await Task.Delay(1); } return(success); }
protected void ProcessMessage(object sender, MessageReceivedArgs e) { switch (e.Message) { case FileStartMessage message: if (!FilesInProgress.ContainsKey(message.Payload)) { var fileHash = message.Payload; var subDir = new DirectoryInfo(Path.Combine(TempStorageDirectory, Hasher.GetDirectoryNameFromHash(fileHash))); if (!subDir.Exists) { subDir.Create(); } var fileName = Hasher.GetFileNameFromHash(fileHash); var filePath = Path.Combine(subDir.FullName, fileName); FilesInProgress.Add(message.Payload, File.OpenWrite(filePath)); } break; case FileChunckMessage message: if (FilesInProgress.ContainsKey(message.FileHash)) { var stream = FilesInProgress[message.FileHash]; stream.Write(message.FileData, 0, message.FileData.Length); var receipt = new FileChunkReceivedMessage(message.FileHash, message.DataChecksum); Communicator.SendMessage(((INetworkClient)sender).ClientName, receipt); } break; case FileEndMessage message: if (FilesInProgress.ContainsKey(message.Payload)) { var stream = FilesInProgress[message.Payload]; stream.Flush(); var fileHash = message.Payload; var subDir = Hasher.GetDirectoryNameFromHash(fileHash); var fileName = Hasher.GetFileNameFromHash(fileHash); var filePath = Path.Combine(TempStorageDirectory, subDir, fileName); stream.Dispose(); ReadFile(((INetworkClient)sender).ClientName, message.Payload, new FileInfo(filePath)); FilesInProgress.Remove(message.Payload); } break; case AbandonFileTransferMessage message: if (FilesInProgress.ContainsKey(message.Payload)) { var stream = FilesInProgress[message.Payload]; stream.Dispose(); FilesInProgress.Remove(message.Payload); } break; case FileChunkReceivedMessage message: FileTransferResponse[message.FileHash] = true; break; case FileStoredVerificationMessage message: VerificationMessages.Add(message.FileHash, message); break; case GetFileMessage message: SendFile(((INetworkClient)sender).ClientName, message.Payload); break; } }