Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
 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);
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        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);
        }
Exemple #16
0
        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);
        }
Exemple #18
0
        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);
        }