public void CreateBooking(CreateBookingDto createBooking) { try { VehicleBooking vehicle = _mapper.Map <VehicleBooking>(createBooking.vehicleBooking); vehicle.confirmationCode = ConfirmationCode.RandomString(); _repositoryFactory.VehicleBookingRepository.Create(vehicle); SendMail(vehicle); _logger.LogInformation("Vehicle booking created"); List <EquipmentBooking> equipmentBookings = _mapper.Map <List <EquipmentBooking> >(createBooking.equipmentBookings); foreach (var e in equipmentBookings) { e.vehicleBookingId = vehicle.id; } _repositoryFactory.EquipmentBookingRepository.CreateEquipmentBooking(equipmentBookings); _logger.LogInformation("Equipment booking created"); } catch (Exception ex) { _logger.LogWarning(ex.Message); throw ex; } }
public IActionResult Pay(VehicleBooking bookingInfo, decimal amount, string stripeEmail, string stripeToken) { var c = new CustomerService(); var customer = c.Create(new CustomerCreateOptions() { Email = stripeEmail, Source = stripeToken }); var ch = new ChargeService(); var change = ch.Create(new ChargeCreateOptions { Amount = (long)amount * 100, Currency = "egp", Description = "Vechile booking ", Customer = customer.Id, ReceiptEmail = stripeEmail }); if (change.Status == "succeeded") { ICarRepository.VehicleBook(new VehicleBooking() { HireDate = ICarRepository.ChangeDateFormatToDaysMonthYears(bookingInfo.HireDate), ReturnData = ICarRepository.ChangeDateFormatToDaysMonthYears(bookingInfo.ReturnData), VehicleId = bookingInfo.VehicleId, RenterId = bookingInfo.RenterId }); ICarRepository.Save(); return(RedirectToPage("/PaymentSuccess")); } return(RedirectToPage("/PaymentFail")); }
public DataSet AvailableVehicles(VehicleBooking vb) { DataSet ds = new DataSet(); //LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); DataTable dt = new DataTable(); try { //traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "AvailableVehicles...."); str.Append("lat:" + vb.SrcLatitude + ","); str.Append("lng:" + vb.SrcLongitude + ","); str.Append("vehicleGroupId:" + vb.VehicleGroupId + ","); // traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "HVgetnearestvehicles"; cmd.Parameters.Add("@VehicleGroupId", SqlDbType.Float).Value = vb.VehicleGroupId; cmd.Parameters.Add("@UserId", SqlDbType.Float).Value = vb.UserId; cmd.Parameters.Add("@VehicleTypeId", SqlDbType.Float).Value = vb.VehicleTypeId; cmd.Parameters.Add("@lat", SqlDbType.Float).Value = vb.SrcLatitude; cmd.Parameters.Add("@lng", SqlDbType.Float).Value = vb.SrcLongitude; cmd.Connection = conn; SqlDataAdapter db = new SqlDataAdapter(cmd); db.Fill(ds); // dt = ds.Tables[0]; //traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "AvailableVehicles successful...."); } catch (Exception ex) { //traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "AvailableVehicles...." + ex.Message.ToString()); throw ex; //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); //dt.Columns.Add("Code"); //dt.Columns.Add("description"); //DataRow dr = dt.NewRow(); //dr[0] = "ERR001"; //dr[1] = ex.Message; //dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(ds); }
static void Main(string[] args) { Console.WriteLine("Welcome to Booking Application"); Console.WriteLine("Enter 1 to Book Flights"); Console.WriteLine("Enter 2 to Book Buses"); Console.WriteLine("Enter 3 to Book Cruise"); string userInput = Console.ReadLine(); VehicleBooking booking = null; if (booking != null) { Console.WriteLine(booking.Destination); } if (userInput == "1") { booking = new FlightBooking("HYD", "BNG"); } else if (userInput == "2") { booking = new BusBooking("HYD", "BNG"); } else { booking = new CruiseBooking.CruiseBooking("MUM", "CHE"); } Console.WriteLine("Enter Number of Seats"); string input = Console.ReadLine(); try { int numberOfSeats = int.Parse(input); booking.Book(numberOfSeats); booking.PricePerPerson(numberOfSeats); //throw new DivideByZeroException(); Console.WriteLine("Your Booking Amount is $" + booking.GetBookingAmount(numberOfSeats)); } catch (DivideByZeroException ex) { Console.WriteLine("Invalid Input"); } catch (FormatException ex) { Console.WriteLine("Invalid format"); } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } finally { Console.WriteLine("Thanks"); } }
public DataTable MOTPverification(VehicleBooking ocr) { DataTable dt = new DataTable(); LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "MOTPverification...."); str.Append("PhoneNo:" + ocr.PhoneNo + ","); str.Append("Mobileotp:" + ocr.Mobileotp + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "HVMOTPverification"; cmd.Connection = conn; SqlParameter q1 = new SqlParameter("@PhoneNo", SqlDbType.VarChar, 50); q1.Value = ocr.PhoneNo; cmd.Parameters.Add(q1); SqlParameter e = new SqlParameter("@Mobileotp", SqlDbType.VarChar, 10); e.Value = ocr.Mobileotp; cmd.Parameters.Add(e); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "MOTPverification successful...."); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "MOTPverification...." + ex.Message.ToString()); //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } //Verify mobile otp return(dt); }
public int TripRating(VehicleBooking b) { int status = 1; LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); try { traceWriter.Trace(Request, "0", System.Diagnostics.TraceLevel.Info, "{0}", "TripRating...."); str.Append("BookingId:" + b.BookingId + ","); str.Append("Rating:" + b.Rating + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "PSTrackVehicleHistory"; cmd.Connection = conn; conn.Open(); SqlParameter bb = new SqlParameter("@BookingId", SqlDbType.VarChar, 50); bb.Value = b.BookingId; cmd.Parameters.Add(bb); SqlParameter sr = new SqlParameter("@Rating", SqlDbType.Int); sr.Value = b.Rating; cmd.Parameters.Add(sr); SqlParameter sb = new SqlParameter("@RatedBy", SqlDbType.VarChar, 50); sb.Value = b.RatedBy; cmd.Parameters.Add(sb); SqlParameter sc = new SqlParameter("@Comments", SqlDbType.VarChar, 50); sc.Value = b.Comments; cmd.Parameters.Add(sc); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "TripRating successful...."); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "TripRating...." + ex.Message.ToString()); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.OK, ex.Message)); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(status); }
public BookingDto GetBooking(int id) { VehicleBooking vehicle = _repositoryFactory.VehicleBookingRepository.GetVehicleBooking(id); vehicle.account.DecryptModel(); BookingDto dto = new BookingDto() { vehicleBooking = _mapper.Map <VehicleBookingDto>(vehicle), equipmentBookings = _mapper.Map <List <EquipmentBookingDto> >(_repositoryFactory.EquipmentBookingRepository.GetEquipmentBookingsFromBooking(id)) }; return(dto); }
public int BookingExpiry(VehicleBooking vb) { int status = 0; DataTable dt = new DataTable(); LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "BookingExpiry...."); conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "HVInsUpdcancelbooking"; SqlParameter i = new SqlParameter("@BNo", SqlDbType.VarChar, 20); i.Value = vb.BNo; cmd.Parameters.Add(i); SqlParameter n = new SqlParameter("@cancellationType", SqlDbType.Int); n.Value = 2; cmd.Parameters.Add(n); SqlParameter r = new SqlParameter("@CancelReason", SqlDbType.VarChar, 255); r.Value = "No reponse"; cmd.Parameters.Add(r); SqlParameter a = new SqlParameter("@CancelledBy", SqlDbType.VarChar, 50); a.Value = vb.CancelledBy; cmd.Parameters.Add(a); cmd.Connection = conn; conn.Open(); object result = cmd.ExecuteScalar(); conn.Close(); if (result.ToString() == "1") { status = 1; traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "BookingExpiry successful...."); } // return status; } catch (Exception ex) { if (conn.State == ConnectionState.Open) { conn.Close(); } traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "BookingExpiry.... failed" + ex.Message.ToString()); //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); //return status; } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(status); }
public DataTable SaveBookingDetails(VehicleBooking b) { LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); DataTable dt = new DataTable(); try { //traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails...."); //str.Append("BNo:" + b.BNo + ","); //str.Append("Src:" + b.Src + ","); //str.Append("Dest:" + b.Dest + ","); //str.Append("VechId:" + b.VechId + ","); //str.Append("DriverPhoneNo:" + b.DriverPhoneNo + ","); //str.Append("CustomerPhoneNo:" + b.CustomerPhoneNo + ","); //traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "PSInsUpdVehicleBookingDetails"; cmd.Connection = conn; SqlParameter i = new SqlParameter("@flag", SqlDbType.VarChar); i.Value = b.flag; cmd.Parameters.Add(i); SqlParameter ie = new SqlParameter("@Id", SqlDbType.Int); ie.Value = b.Id; cmd.Parameters.Add(ie); SqlParameter co = new SqlParameter("@CompanyId", SqlDbType.Int); co.Value = b.CompanyId; cmd.Parameters.Add(co); SqlParameter cm = new SqlParameter("@BNo", SqlDbType.VarChar, 20); cm.Value = b.BNo; cmd.Parameters.Add(cm); SqlParameter bd = new SqlParameter("@BookedDate", SqlDbType.Date); bd.Value = b.BookedDate; cmd.Parameters.Add(bd); SqlParameter bt = new SqlParameter("@BookedTime", System.Data.SqlDbType.DateTime); bt.Value = b.BookedTime; cmd.Parameters.Add(bt); SqlParameter dd = new SqlParameter("@DepartureDate", SqlDbType.Date); dd.Value = b.DepartueDate; cmd.Parameters.Add(dd); SqlParameter dt1 = new SqlParameter("@DepartureTime", System.Data.SqlDbType.DateTime); dt1.Value = b.DepartureTime; cmd.Parameters.Add(dt1); SqlParameter q1 = new SqlParameter("@BookingType", SqlDbType.VarChar, 50); q1.Value = b.BookingType; cmd.Parameters.Add(q1); SqlParameter src = new SqlParameter("@Src", SqlDbType.VarChar, 50); src.Value = b.Src; cmd.Parameters.Add(src); SqlParameter dest = new SqlParameter("@Dest", SqlDbType.VarChar, 50); dest.Value = b.Dest; cmd.Parameters.Add(dest); SqlParameter sr = new SqlParameter("@SrcId", SqlDbType.Int); sr.Value = b.SrcId; cmd.Parameters.Add(sr); SqlParameter des = new SqlParameter("@DestId", SqlDbType.Int); des.Value = b.DestId; cmd.Parameters.Add(des); SqlParameter sl = new SqlParameter("@SrcLatitude", SqlDbType.Float); sl.Value = b.SrcLatitude; cmd.Parameters.Add(sl); SqlParameter so = new SqlParameter("@SrcLongitude", SqlDbType.Float); so.Value = b.SrcLongitude; cmd.Parameters.Add(so); SqlParameter dl = new SqlParameter("@DestLatitude", SqlDbType.Float); dl.Value = b.DestLatitude; cmd.Parameters.Add(dl); SqlParameter d = new SqlParameter("@DestLongitude", SqlDbType.Float); d.Value = b.DestLongitude; cmd.Parameters.Add(d); SqlParameter vi = new SqlParameter("@VechId", SqlDbType.Int); vi.Value = b.VechId; cmd.Parameters.Add(vi); SqlParameter p = new SqlParameter("@PackageId", SqlDbType.Int); p.Value = b.PackageId; cmd.Parameters.Add(p); SqlParameter pa = new SqlParameter("@Pricing", SqlDbType.Decimal); pa.Value = b.Pricing; cmd.Parameters.Add(pa); SqlParameter di = new SqlParameter("@DriverId", SqlDbType.Int); di.Value = b.DriverId; cmd.Parameters.Add(di); SqlParameter dp = new SqlParameter("@DriverPhoneNo", SqlDbType.VarChar, 20); dp.Value = b.DriverPhoneNo; cmd.Parameters.Add(dp); SqlParameter cp = new SqlParameter("@CustomerPhoneNo", SqlDbType.VarChar, 20); cp.Value = b.CustomerPhoneNo; cmd.Parameters.Add(cp); SqlParameter c = new SqlParameter("@CustomerId", SqlDbType.Int); c.Value = b.CustomerId; cmd.Parameters.Add(c); SqlParameter bs = new SqlParameter("@BookingStatus", SqlDbType.VarChar, 50); bs.Value = b.BookingStatus; cmd.Parameters.Add(bs); SqlParameter n = new SqlParameter("@NoofVehicles", SqlDbType.Int); n.Value = b.NoofVehicles; cmd.Parameters.Add(n); SqlParameter ns = new SqlParameter("@NoofSeats", SqlDbType.Int); ns.Value = b.NoofSeats; cmd.Parameters.Add(ns); SqlParameter cd = new SqlParameter("@ClosingDate", SqlDbType.Date); cd.Value = b.ClosingDate; cmd.Parameters.Add(cd); SqlParameter ct = new SqlParameter("@ClosingTime", System.Data.SqlDbType.DateTime); ct.Value = b.ClosingDate; cmd.Parameters.Add(ct); SqlParameter cto = new SqlParameter("@CancelledOn", SqlDbType.DateTime); cto.Value = b.CancelledOn; cmd.Parameters.Add(cto); SqlParameter cb = new SqlParameter("@CancelledBy", SqlDbType.VarChar, 50); cb.Value = b.CancelledBy; cmd.Parameters.Add(cb); SqlParameter bc = new SqlParameter("@BookingChannel", SqlDbType.VarChar, 50); bc.Value = b.BookingChannel; cmd.Parameters.Add(bc); SqlParameter r = new SqlParameter("@Reasons", SqlDbType.VarChar, 500); r.Value = b.Reasons; cmd.Parameters.Add(r); SqlParameter a = new SqlParameter("@Amount", SqlDbType.Decimal); a.Value = b.Amount; cmd.Parameters.Add(a); SqlParameter ps = new SqlParameter("@PaymentStatus", SqlDbType.VarChar, 50); ps.Value = b.PaymentStatus; cmd.Parameters.Add(ps); SqlParameter pty = new SqlParameter("@PaymentTypeId", SqlDbType.Int); pty.Value = b.PaymentTypeId; cmd.Parameters.Add(pty); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); #region Mobile OTP string eotp = dt.Rows[0]["bookingNumber"].ToString(); string potp = dt.Rows[0]["OTP"].ToString(); //string totp = dt.Rows[0]["bookingNumber1"].ToString(); if (eotp != null) { try { MailMessage mail = new MailMessage(); string emailserver = System.Configuration.ConfigurationManager.AppSettings["emailserver"].ToString(); string username = System.Configuration.ConfigurationManager.AppSettings["username"].ToString(); string pwd = System.Configuration.ConfigurationManager.AppSettings["password"].ToString(); string fromaddress = System.Configuration.ConfigurationManager.AppSettings["fromaddress"].ToString(); string port = System.Configuration.ConfigurationManager.AppSettings["port"].ToString(); SmtpClient SmtpServer = new SmtpClient(emailserver); mail.From = new MailAddress(fromaddress); mail.To.Add(fromaddress); mail.Subject = "Vehicle Registration - Email OTP"; mail.IsBodyHtml = true; string verifcodeMail = @"<table> <tr> <td> <h2>Thank you for registering with PaySmart APP</h2> <table width=\""760\"" align=\""center\""> <tbody style='background-color:#F0F8FF;'> <tr> <td style=\""font-family:'Zurich BT',Arial,Helvetica,sans-serif;font-size:15px;text-align:left;line-height:normal;background-color:#F0F8FF;\"" > <div style='padding:10px;border:#0000FF solid 2px;'> <br /><br /> Your Vehicle is Booked:<h3>" + eotp + @" </h3> <br /> Your One Time Password :<h3>" + potp + @" </h3> If you didn't make this request, <a href='http://154.120.237.198:52800'>click here</a> to cancel. <br/> <br/> Warm regards,<br> PAYSMART Customer Service Team<br/><br /> </div> </td> </tr> </tbody> </table> </td> </tr> </table>"; mail.Body = verifcodeMail; //SmtpServer.Port = 465; //SmtpServer.Port = 587; SmtpServer.Port = Convert.ToInt32(port); SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new System.Net.NetworkCredential(username, pwd); SmtpServer.EnableSsl = true; //SmtpServer.TargetName = "STARTTLS/smtp.gmail.com"; SmtpServer.Send(mail); } catch (Exception ex) { //throw ex; throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } } #endregion Mobile OTP // traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails successful...."); } catch (Exception ex) { // traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "SaveBookingDetails...." + ex.Message.ToString()); //throw ex; //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); //dt.Columns.Add("Code"); //dt.Columns.Add("description"); //DataRow dr = dt.NewRow(); //dr[0] = "ERR001"; //dr[1] = ex.Message; //dt.Rows.Add(dr); throw ex; } //finally //{ // conn.Close(); // conn.Dispose(); // SqlConnection.ClearPool(conn); //} return(dt); }
public DataTable GetSendBookingRequestToDriver(VehicleBooking b) { StringBuilder str = new StringBuilder(); DataTable Tbl = new DataTable(); LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetSendBookingRequestToDriver...."); str.Append("BookingId" + b.BookingId + ","); str.Append("Src" + b.BookingId + ","); str.Append("Dest" + b.Dest + ","); str.Append("Time" + b.Time + ","); str.Append("ETA" + b.ETA + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetSendBookingRequestToDriver sent...." + str.ToString()); conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "PSSendBookingRequestToDriver"; cmd.Connection = conn; SqlParameter ba = new SqlParameter("@BookingId", SqlDbType.VarChar, 50); ba.Value = b.BookingId; cmd.Parameters.Add(ba); SqlParameter src = new SqlParameter("@Src", SqlDbType.VarChar, 50); src.Value = b.Src; cmd.Parameters.Add(src); SqlParameter dest = new SqlParameter("@Dest", SqlDbType.VarChar, 50); dest.Value = b.Dest; cmd.Parameters.Add(dest); SqlParameter t = new SqlParameter("@Time", SqlDbType.Time); t.Value = b.Time; cmd.Parameters.Add(t); SqlParameter eta = new SqlParameter("@ETA", SqlDbType.Time); eta.Value = b.Time; cmd.Parameters.Add(eta); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetSendBookingRequestToDriver successful...."); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "GetSendBookingRequestToDriver...." + ex.Message.ToString()); //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); Tbl.Columns.Add("Code"); Tbl.Columns.Add("description"); DataRow dr = Tbl.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; Tbl.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(Tbl); }
public void VehicleBook(VehicleBooking vehicleBooking) { Context.VehicleBookings.Add(vehicleBooking); }
public int SaveBookingDetails(VehicleBooking b) { int Status = 0; LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); DataTable dt = new DataTable(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails...."); conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "HVInsUpdbooking"; cmd.Connection = conn; SqlParameter i = new SqlParameter("@flag", SqlDbType.VarChar); i.Value = b.flag; cmd.Parameters.Add(i); SqlParameter ie = new SqlParameter("@Id", SqlDbType.Int); ie.Value = b.Id; cmd.Parameters.Add(ie); SqlParameter cd = new SqlParameter("@CompanyId", SqlDbType.Int); cd.Value = b.CompanyId; cmd.Parameters.Add(cd); SqlParameter cm = new SqlParameter("@BNo", SqlDbType.Int); cm.Value = b.BNo; cmd.Parameters.Add(cm); SqlParameter q1 = new SqlParameter("@BookingType", SqlDbType.VarChar, 255); q1.Value = b.BookingType; cmd.Parameters.Add(q1); SqlParameter v = new SqlParameter("@ReqVehicle", SqlDbType.VarChar, 255); v.Value = b.ReqVehicle; cmd.Parameters.Add(v); SqlParameter v1 = new SqlParameter("@Customername", SqlDbType.VarChar, 255); v1.Value = b.Customername; cmd.Parameters.Add(v1); SqlParameter v2 = new SqlParameter("@CusID", SqlDbType.VarChar, 255); v2.Value = b.CusID; cmd.Parameters.Add(v2); SqlParameter f = new SqlParameter("@PhoneNo", SqlDbType.VarChar, 50); f.Value = b.PhoneNo; cmd.Parameters.Add(f); SqlParameter A = new SqlParameter("@AltPhoneNo", SqlDbType.VarChar, 255); A.Value = b.AltPhoneNo; cmd.Parameters.Add(A); SqlParameter C = new SqlParameter("@CAddress", SqlDbType.NVarChar); C.Value = b.CAddress; cmd.Parameters.Add(C); SqlParameter P = new SqlParameter("@PickupAddress", SqlDbType.VarChar, 255); P.Value = b.PickupAddress; cmd.Parameters.Add(P); SqlParameter P1 = new SqlParameter("@LandMark", SqlDbType.VarChar, 255); P1.Value = b.LandMark; cmd.Parameters.Add(P1); SqlParameter P2 = new SqlParameter("@Package", SqlDbType.VarChar, 255); P2.Value = b.Package; cmd.Parameters.Add(P2); SqlParameter D1 = new SqlParameter("@PickupPalce", SqlDbType.VarChar, 255); D1.Value = b.PickupPalce; cmd.Parameters.Add(D1); SqlParameter D = new SqlParameter("@DropPalce", SqlDbType.VarChar, 255); D.Value = b.DropPalce; cmd.Parameters.Add(D); SqlParameter E = new SqlParameter("@ExtraCharge", SqlDbType.Int); E.Value = b.ExtraCharge; cmd.Parameters.Add(E); SqlParameter N = new SqlParameter("@NoofVehicles", SqlDbType.Int); N.Value = b.NoofVehicles; cmd.Parameters.Add(N); SqlParameter rt = new SqlParameter("@ExecutiveName", SqlDbType.VarChar, 255); rt.Value = b.ExecutiveName; cmd.Parameters.Add(rt); SqlParameter vi = new SqlParameter("@VID", SqlDbType.Int); vi.Value = b.VID; cmd.Parameters.Add(vi); SqlParameter bs = new SqlParameter("@BookingStatus", SqlDbType.VarChar, 255); bs.Value = b.BookingStatus; cmd.Parameters.Add(bs); SqlParameter cs = new SqlParameter("@CustomerSMS", SqlDbType.VarChar, 255); cs.Value = b.CustomerSMS; cmd.Parameters.Add(cs); SqlParameter cr = new SqlParameter("@CancelReason", SqlDbType.VarChar, 255); cr.Value = b.CancelReason; cmd.Parameters.Add(cr); SqlParameter cb = new SqlParameter("@CBNo", SqlDbType.VarChar, 255); cb.Value = b.CBNo; cmd.Parameters.Add(cb); SqlParameter mb = new SqlParameter("@ModifiedBy", SqlDbType.VarChar, 255); mb.Value = b.ModifiedBy; cmd.Parameters.Add(mb); SqlParameter cby = new SqlParameter("@CancelBy", SqlDbType.VarChar, 255); cby.Value = b.CancelBy; cmd.Parameters.Add(cby); SqlParameter rb = new SqlParameter("@ReconfirmedBy", SqlDbType.VarChar, 255); rb.Value = b.ReconfirmedBy; cmd.Parameters.Add(rb); SqlParameter s = new SqlParameter("@AssignedBy", SqlDbType.VarChar, 255); s.Value = b.AssignedBy; cmd.Parameters.Add(s); SqlParameter c = new SqlParameter("@latitude", SqlDbType.Float); c.Value = b.lat; cmd.Parameters.Add(c); SqlParameter ce = new SqlParameter("@longitude", SqlDbType.Float); ce.Value = b.lng; cmd.Parameters.Add(ce); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); #region Mobile OTP string motp = dt.Rows[0]["BNo"].ToString(); if (motp != null) { try { MailMessage mail = new MailMessage(); string emailserver = System.Configuration.ConfigurationManager.AppSettings["emailserver"].ToString(); string username = System.Configuration.ConfigurationManager.AppSettings["username"].ToString(); string pwd = System.Configuration.ConfigurationManager.AppSettings["password"].ToString(); string fromaddress = System.Configuration.ConfigurationManager.AppSettings["fromaddress"].ToString(); string port = System.Configuration.ConfigurationManager.AppSettings["port"].ToString(); SmtpClient SmtpServer = new SmtpClient(emailserver); mail.From = new MailAddress(fromaddress); // mail.To.Add(b.PhoneNo); mail.To.Add(fromaddress); mail.Subject = "User registration - Mobile OTP"; mail.IsBodyHtml = true; string verifcodeMail = @"<table> <tr> <td> <h2>Thank you for registering with PaySmart APP</h2> <table width=\""760\"" align=\""center\""> <tbody style='background-color:#F0F8FF;'> <tr> <td style=\""font-family:'Zurich BT',Arial,Helvetica,sans-serif;font-size:15px;text-align:left;line-height:normal;background-color:#F0F8FF;\"" > <div style='padding:10px;border:#0000FF solid 2px;'> <br /><br /> Your Mobile OTP is:<h3>" + motp + @" </h3> If you didn't make this request, <a href='http://154.120.237.198:52800'>click here</a> to cancel. <br/> <br/> Warm regards,<br> PAYSMART Customer Service Team<br/><br /> </div> </td> </tr> </tbody> </table> </td> </tr> </table>"; mail.Body = verifcodeMail; //SmtpServer.Port = 465; //SmtpServer.Port = 587; SmtpServer.Port = Convert.ToInt32(port); SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new System.Net.NetworkCredential(username, pwd); SmtpServer.EnableSsl = true; //SmtpServer.TargetName = "STARTTLS/smtp.gmail.com"; SmtpServer.Send(mail); Status = 1; } catch (Exception ex) { Status = 0; } } #endregion Mobile OTP traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails successful...."); StringBuilder str = new StringBuilder(); str.Append("@BNo" + b.BNo + ","); str.Append("@BookingType" + b.BookingType + ","); str.Append("@PhoneNo" + b.PhoneNo + ","); str.Append("@PickupPalce" + b.PickupPalce + ","); str.Append("@DropPalce" + b.DropPalce + ","); str.Append("@BookingStatus" + b.BookingStatus + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails Input sent...." + str.ToString()); if (dt.Rows.Count > 0) { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails Output...." + dt.Rows[0].ToString()); } else { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "SaveBookingDetails Output....ChangePwd "); } } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "SaveBookingDetails....failed" + ex.Message.ToString()); //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(Status); }
public bool SaveVehicleBooking(VehicleBookingDTO dto, string mode = "") { var flag = false; try { using (var entities = new ManiMotorsEntities1()) { using (var scope = new TransactionScope()) { try { if (mode != "EDIT" && mode != "DELIVERY") { //Populate VehicleBooking VehicleBooking ent = new VehicleBooking() { VehicleEnquiryID = dto.VehicleEnquiryID, CustomerID = dto.CustomerID, CommittedDate = dto.CommittedDate, ModelID = dto.ModelID, Color1 = dto.Color1, Color2 = dto.Color2, Color3 = dto.Color3, CustomerRemark = dto.CustomerRemark, Referenceby = dto.ReferenceBy, SalesExecutiveID = dto.SalesExecutiveId, isCash = dto.IsCash, AdvanceAmount = dto.AdvanceAmount, AdvanceAmountModeBit = dto.AdvanceMode, AdvanceChequeno = dto.AdvanceChequeNo, FinancierID = dto.FinancierInfoId, FinancierRemark = dto.FinancierRemark, ReadytoDelivery = dto.ReadyToDeliver, StatusID = dto.StatusId, ClosingRemark = dto.ClosingRemark, CreatedDate = dto.CreatedDate, Createdby = dto.CreatedBy, Modifiedby = dto.ModifiedBy, ModifiedDate = dto.ModifiedDate }; //Populate VehicleBookingFollowup VehicleBookingFollowUp entF = new VehicleBookingFollowUp() { VehicleBookingID = dto.VehicleBookingID, CustomerID = dto.CustomerID, Description = dto.FollowupDescription, FollowupDate = dto.FollowupDate, isActive = dto.FollowupIsActive, CreatedDate = dto.CreatedDate, Createdby = dto.CreatedBy, Modifiedby = dto.ModifiedBy, ModifiedDate = dto.ModifiedDate }; entities.VehicleBookings.Add(ent); entities.SaveChanges(); int vehicleBookingId = ent.VehicleBookingID; //Invalid previous booking followup for the same booking id foreach (var bf in entities.VehicleBookingFollowUps.Where(vf => vf.VehicleBookingID == vehicleBookingId)) { bf.isActive = false; entities.SaveChanges(); } entF.VehicleBookingID = vehicleBookingId; entities.VehicleBookingFollowUps.Add(entF); entities.SaveChanges(); //Update Customer enquiry status to booked var enquiry = entities.CustomerEnquiries.FirstOrDefault(c => c.CustomerEnquiryID == dto.VehicleEnquiryID); if (enquiry != null) { enquiry.VehicleStatusID = 4; //update to booked enquiry.Modifiedby = GlobalSetup.Userid; enquiry.ModifiedDate = DateTime.Now; entities.SaveChanges(); } } else { var entVehicleBooking = entities.VehicleBookings.FirstOrDefault(vb => vb.VehicleBookingID == dto.VehicleBookingID); //Populate VehicleBooking entVehicleBooking.VehicleEnquiryID = dto.VehicleEnquiryID; entVehicleBooking.CustomerID = dto.CustomerID; entVehicleBooking.CommittedDate = dto.CommittedDate; entVehicleBooking.ModelID = dto.ModelID; entVehicleBooking.Color1 = dto.Color1; entVehicleBooking.Color2 = dto.Color2; entVehicleBooking.Color3 = dto.Color3; entVehicleBooking.CustomerRemark = dto.CustomerRemark; entVehicleBooking.Referenceby = dto.ReferenceBy; entVehicleBooking.SalesExecutiveID = dto.SalesExecutiveId; entVehicleBooking.isCash = dto.IsCash; entVehicleBooking.AdvanceAmount = dto.AdvanceAmount; entVehicleBooking.AdvanceAmountModeBit = dto.AdvanceMode; entVehicleBooking.AdvanceChequeno = dto.AdvanceChequeNo; entVehicleBooking.FinancierID = dto.FinancierInfoId; entVehicleBooking.FinancierRemark = dto.FinancierRemark; entVehicleBooking.ReadytoDelivery = dto.ReadyToDeliver; entVehicleBooking.StatusID = dto.StatusId; entVehicleBooking.ClosingRemark = dto.ClosingRemark; entVehicleBooking.CreatedDate = dto.CreatedDate; entVehicleBooking.Createdby = dto.CreatedBy; entVehicleBooking.Modifiedby = dto.ModifiedBy; entVehicleBooking.ModifiedDate = dto.ModifiedDate; entities.SaveChanges(); //Populate VehicleBookingFollowup VehicleBookingFollowUp entF = new VehicleBookingFollowUp() { VehicleBookingID = dto.VehicleBookingID, CustomerID = dto.CustomerID, Description = dto.FollowupDescription, FollowupDate = dto.FollowupDate, isActive = dto.FollowupIsActive, CreatedDate = dto.CreatedDate, Createdby = dto.CreatedBy, Modifiedby = dto.ModifiedBy, ModifiedDate = dto.ModifiedDate }; //Invalid previous booking followup for the same booking id foreach (var bf in entities.VehicleBookingFollowUps.Where(vf => vf.VehicleBookingID == dto.VehicleBookingID)) { bf.isActive = false; entities.SaveChanges(); } entF.VehicleBookingID = dto.VehicleBookingID; entities.VehicleBookingFollowUps.Add(entF); entities.SaveChanges(); if (mode == "DELIVERY") { // Mark all inventories to Delivered var vehicleBookingAlt = entities.VehicleBookingAllotments.FirstOrDefault(vba => vba.VehicleBookingID == dto.VehicleBookingID); if (vehicleBookingAlt != null) { var vehInv = entities.VehicleInventoryStatus.FirstOrDefault(vis => vis.VehicleInventoryID == vehicleBookingAlt.VehicleInventoryID); vehInv.VehicleInventoryStatusTypeID = 3;// Delivered vehInv.Modifiedby = GlobalSetup.Userid; vehInv.ModifiedDate = DateTime.Now; entities.SaveChanges(); } var sparePartsBookingAlt = entities.SparePartsBookingAllotments.Where(spba => spba.VehicleBookingID == dto.VehicleBookingID); foreach (var spaltid in sparePartsBookingAlt) { var spInv = entities.SparePartsInventoryStatus.FirstOrDefault(spi => spi.SparePartsInventoryID == spaltid.SparePartsInventoryID); spInv.SparePartsInventoryStatusTypeID = 3; //Delivered spInv.Modifiedby = GlobalSetup.Userid; spInv.ModifiedDate = DateTime.Now; entities.SaveChanges(); } var custEnquiry = entities.CustomerEnquiries.FirstOrDefault(ce => ce.CustomerEnquiryID == dto.VehicleEnquiryID); if (custEnquiry != null) { custEnquiry.VehicleStatusID = 5; //Delivered -- Table VehicleSalesStatus custEnquiry.Modifiedby = GlobalSetup.Userid; custEnquiry.ModifiedDate = DateTime.Now; entities.SaveChanges(); } } } scope.Complete(); } catch (Exception ex) { scope.Dispose(); throw ex; } } } flag = true; } catch (Exception ex) { throw ex; } return(flag); }
private void SendMail(VehicleBooking vehicle) { Account account = _repositoryFactory.AccountRepository.GetAccountById(vehicle.accountId); _mailService.SendBookingConfirmationEmail(account.email, account.firstName + " " + account.lastName, vehicle); }
public int GetPricing(VehicleBooking b) { int status = 1; LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetPricing...."); str.Append("Mobilenumber:" + b.PMobNo + ","); str.Append("Latitude:" + b.latitude + ","); str.Append("Longitude:" + b.longitude + ","); str.Append("VehicleTypeId:" + b.VehicleTypeId + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "PSTrackVehicleHistory"; cmd.Connection = conn; SqlParameter MobileNumber = new SqlParameter("@Mobilenumber", SqlDbType.VarChar, 50); MobileNumber.Value = b.PMobNo; cmd.Parameters.Add(MobileNumber); SqlParameter Lat = new SqlParameter("@Latitude", SqlDbType.Float); Lat.Value = b.latitude; cmd.Parameters.Add(Lat); SqlParameter Lng = new SqlParameter("@Longitude", SqlDbType.Float); Lng.Value = b.longitude; cmd.Parameters.Add(Lng); SqlParameter vv = new SqlParameter("@VehicleTypeId", SqlDbType.Int); vv.Value = b.VehicleTypeId; cmd.Parameters.Add(vv); SqlParameter src = new SqlParameter("@SrcId", SqlDbType.Int); src.Value = b.SrcId; cmd.Parameters.Add(src); SqlParameter dest = new SqlParameter("@DestId", SqlDbType.Int); dest.Value = b.DestId; cmd.Parameters.Add(dest); SqlParameter p = new SqlParameter("@PackageId", SqlDbType.Int); p.Value = b.DestId; cmd.Parameters.Add(p); SqlParameter t = new SqlParameter("@Time", SqlDbType.Time); t.Value = b.Time; cmd.Parameters.Add(t); SqlParameter d = new SqlParameter("@Date", SqlDbType.Time); d.Value = b.Date; cmd.Parameters.Add(d); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetPricing successful...."); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "GetPricing...." + ex.Message.ToString()); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.OK, ex.Message)); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(status); }
public async Task SendBookingConfirmationEmail(string ToEmail, string UserName, VehicleBooking vehicle) { string FilePath = Directory.GetCurrentDirectory() + "\\Templates\\BookingCreated.html"; StreamReader str = new StreamReader(FilePath); string MailText = str.ReadToEnd(); str.Close(); MailText = MailText.Replace("[username]", UserName).Replace("[createdOn]", vehicle.createdOn.ToString()).Replace("[code]", vehicle.confirmationCode).Replace("[start]", vehicle.startTime.ToString()) .Replace("[end]", vehicle.endTime.ToString()); var email = new MimeMessage(); email.Sender = MailboxAddress.Parse(_mailSettings.Mail); email.To.Add(MailboxAddress.Parse(ToEmail)); email.Subject = $"Reservation creation"; var builder = new BodyBuilder(); builder.HtmlBody = MailText; email.Body = builder.ToMessageBody(); using var smtp = new SmtpClient(); smtp.Connect(_mailSettings.Host, _mailSettings.Port, SecureSocketOptions.StartTls); smtp.Authenticate(_mailSettings.Mail, _mailSettings.Password); await smtp.SendAsync(email); smtp.Disconnect(true); }
public int GetCurrentLocationDetails(VehicleBooking b) { int status = 1; LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetCurrentLocationDetails...."); conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "PSGetCurrentLocationDetails"; cmd.Connection = conn; SqlParameter MobileNumber = new SqlParameter("@Mobilenumber", SqlDbType.VarChar, 50); MobileNumber.Value = b.PMobNo; cmd.Parameters.Add(MobileNumber); SqlParameter Lat = new SqlParameter("@Latitude", SqlDbType.Float); Lat.Value = b.latitude; cmd.Parameters.Add(Lat); SqlParameter Lng = new SqlParameter("@Longitude", SqlDbType.Float); Lng.Value = b.longitude; cmd.Parameters.Add(Lng); SqlParameter vg = new SqlParameter("@VechicleGroupId", SqlDbType.Float); vg.Value = b.VehicleGroupId; cmd.Parameters.Add(vg); try { conn.Open(); object userstat = cmd.ExecuteScalar(); conn.Close(); if (userstat != null) { if (conn.State == ConnectionState.Open) { conn.Close(); } return(Convert.ToInt32(userstat)); } traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetCurrentLocationDetails successful...."); StringBuilder str = new StringBuilder(); str.Append("@Mobilenumber" + b.PMobNo + ","); str.Append("@Latitude" + b.latitude + ","); str.Append("@Longitude" + b.longitude + ","); str.Append("@VechicleGroupId" + b.VehicleGroupId + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "GetCurrentLocationDetails Input sent...." + str.ToString()); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "GetCurrentLocationDetails...." + ex.Message.ToString()); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.OK, ex.Message)); } } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "GetCurrentLocationDetails...." + ex.Message.ToString()); throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.OK, ex.Message)); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(status); //return (dt); }
public DataTable location(VehicleBooking l) { LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); DataTable dt = new DataTable(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "location...."); str.Append("Latitude:" + l.lat + ","); str.Append("Longitude:" + l.lng + ","); str.Append("PhoneNo:" + l.PhoneNo + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "HVUserlocations"; cmd.Connection = conn; SqlParameter Latitude = new SqlParameter("@Latitude", SqlDbType.Float); Latitude.Value = l.lat; cmd.Parameters.Add(Latitude); SqlParameter Longitude = new SqlParameter("@Longitude", SqlDbType.Float); Longitude.Value = l.lng; cmd.Parameters.Add(Longitude); SqlParameter mn = new SqlParameter("@PhoneNo", SqlDbType.VarChar, 20); mn.Value = l.PhoneNo; cmd.Parameters.Add(mn); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "location successful...."); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "location...." + ex.Message.ToString()); //throw ex; //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(dt); }