示例#1
0
    public List <ParkingLog> GetLogs(int ttid)
    {
        string q = "select timestamp,is_successful,allowed,username,parking_log.id from parking_log  inner join parking on parking_owner_id = parking.Id inner join user_parking on parking_log.parking_owner_id = user_parking.parking_id inner join user on user_parking.user_id = user.ttid  where parking_log.user_id = @ttid";

        string[]          s   = { "@ttid" };
        Connect           c   = new Connect(q, s, ttid);
        List <ParkingLog> lst = new List <ParkingLog>();

        foreach (DataRow row in c.ds.Tables[0].Rows)
        {
            int        logid = Convert.ToInt32(row[4]);
            ParkingLog p     = new ParkingLog();
            p.Fine        = GetFine(logid);
            p.Revenue     = GetRevenue(logid);
            p.ParkingDate = Convert.ToDateTime(row[0]);
            p.IsSuccess   = int.Parse(row[1].ToString()) == 0 ? "Unsuccessfull" : "Successfull";
            p.UserName    = row[3].ToString();
            if (row[2].ToString() == "1")
            {
                p.ParkedOn = "Parking Zone";
            }
            else
            {
                p.ParkedOn = "Non Parking Zone";
            }
            lst.Add(p);
        }
        return(lst);
    }
示例#2
0
    public List <ParkingLog> GetLogsPublic(int ttid)
    {
        string q = "select * from parking_log inner join parking on parking_owner_id = parking.Id where private = 0 and user_id = @ttid";

        string[]          s   = { "@ttid" };
        Connect           c   = new Connect(q, s, ttid);
        List <ParkingLog> lst = new List <ParkingLog>();

        foreach (DataRow row in c.ds.Tables[0].Rows)
        {
            int        logid = Convert.ToInt32(row[3]);
            ParkingLog p     = new ParkingLog();
            p.Fine        = GetFine(logid);
            p.Revenue     = GetRevenue(logid);
            p.ParkingDate = Convert.ToDateTime(row[2]);
            if (int.Parse(row[4].ToString()) == 0)
            {
                p.IsSuccess = "Unsuccessful";
            }
            else if (int.Parse(row[4].ToString()) == 1)
            {
                p.IsSuccess = "Successful";
            }
            else
            {
                p.IsSuccess = "Pending";
            } //p.IsSuccess = int.Parse(row[4].ToString()) == 0 ? "Unsuccessfull" : "Successfull";

            lst.Add(p);
        }
        return(lst.OrderByDescending(m => m.ParkingDate).ToList());
    }
        public ActionResult EntryGate(ParkingLog parkingLog)
        {
            TempData["statusMsg"] = string.Empty;

            if (ModelState.IsValid &&
                Session["UserID"] != null &&
                Session["UserType"].ToString().Equals("2"))
            {
                if (!string.IsNullOrEmpty(parkingLog.PlateNumber))
                {
                    using (ParkingEntities db = new ParkingEntities())
                    {
                        parkingLog.Status          = "OnGoing";
                        parkingLog.InGateSessionID = Session.SessionID;
                        parkingLog.InTimeStamp     = DateTime.Now;
                        parkingLog.INAgentMACID    = Session["UserName"].ToString();
                        db.ParkingLogs.Add(parkingLog);
                        db.SaveChanges();
                        TempData["statusMsg"] = "Successfully Submitted Your IN Entry.";
                    }
                }
                ModelState.Clear();
                return(View());
            }

            // When user is not logged-in
            Session.Clear();
            return(RedirectToAction("Signin", "Login"));
        }
        public ActionResult OutGate(ParkingLog parkingLog)
        {
            TempData["statusMsg"] = string.Empty;
            TempData["errorMsg"]  = string.Empty;

            if (ModelState.IsValid &&
                Session["UserID"] != null &&
                Session["UserType"].ToString().Equals("3"))
            {
                if (!string.IsNullOrEmpty(parkingLog.PlateNumber))
                {
                    using (ParkingEntities db = new ParkingEntities())
                    {
                        var obj = db.ParkingLogs
                                  .Where(car
                                         => car.PlateNumber.Equals(parkingLog.PlateNumber) &&
                                         car.Status.Equals("OnGoing"))
                                  .OrderByDescending(car => car.InTimeStamp)
                                  .FirstOrDefault();

                        if (obj != null)
                        {
                            obj.Status           = "Completed";
                            obj.OutGateSessionID = Session.SessionID;
                            obj.OutTimeStamp     = DateTime.Now;
                            obj.OUTAgentMACID    = Session["UserName"].ToString();
                            db.SaveChanges();
                            TempData["statusMsg"] = "Sucessfully submited your OUT Entry.";
                        }
                        else
                        {
                            TempData["errorMsg"] = "Sorry We don't have your records in our server.";
                        }
                    }
                }
                ModelState.Clear();
                return(View());
            }

            //When user is not logged-in
            Session.Clear();
            return(RedirectToAction("Signin", "Login"));
        }