コード例 #1
0
        public async Task <IActionResult> Putparkingslot(int id, [FromBody] parkingslot parkingslot)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != parkingslot.sl)
            {
                return(BadRequest("Id is not valid"));
            }

            db.Entry(parkingslot).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!parkingslotExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode((int)HttpStatusCode.NoContent));
        }
コード例 #2
0
        public async Task <IActionResult> GetParkingslotsById(int id)
        {
            parkingslot parkingslot = await db.Parkingslots.FindAsync(id);

            if (parkingslot == null)
            {
                return(NotFound("Id is not valid"));
            }

            return(Ok(parkingslot));
        }
コード例 #3
0
        public async Task <IActionResult> Deleteparkingslot(int id)
        {
            parkingslot parkingslot = await db.Parkingslots.FindAsync(id);

            if (parkingslot == null)
            {
                return(NotFound("Id is not valid"));
            }

            db.Parkingslots.Remove(parkingslot);
            await db.SaveChangesAsync();

            return(Ok(parkingslot));
        }
コード例 #4
0
        public async Task <IActionResult> Postparkingslot(parkingslot parkingslot)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            parkingslot p = db.Parkingslots.Where(x => x.floor == parkingslot.floor && x.section == parkingslot.section && x.slot == parkingslot.slot).FirstOrDefault();

            if (p == null)
            {
                db.Parkingslots.Add(parkingslot);
                await db.SaveChangesAsync();

                // return Ok(parkingslot);
                return(CreatedAtAction("GetParkingslotsById", new { id = parkingslot.sl }, parkingslot));
            }
            else
            {
                return(BadRequest("This slot is already present in database"));
            }
        }
コード例 #5
0
        public async Task <IActionResult> Postdetails(details details)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            parkingslot p1 = db.Parkingslots.Where(x => x.availability == Availability.Available).FirstOrDefault();

            if (p1 == null)
            {
                return(BadRequest("There is no available slot to park the vehicle"));
            }
            else
            {
                details.date    = details.date;
                p1.availability = Availability.Occupied;
                details.Slot    = p1.sl;

                db.Details.Add(details);
                try
                {
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateException)
                {
                    if (detailsExists(details.vehicleNo))
                    {
                        return(Conflict("This vehicle is already parked"));
                    }
                    else
                    {
                        throw;
                    }
                }
                return(CreatedAtAction("Getdetails", new { id = details.vehicleNo }, details));
            }
        }
コード例 #6
0
        //    [ResponseType(typeof(void))]

        public async Task <IActionResult> Putdetails(string id, [FromBody] details details)
        {
            //  details details = await db.Details.FindAsync(id);


            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));                                                         //update details
            }

            if (id != details.vehicleNo)
            {
                return(BadRequest("Id is not valid"));
            }

            if (details.outTime < details.inTime)
            {
                return(BadRequest("out time cannot be smaller than in time"));
            }

            string   v;
            DateTime date;
            double   outTime;

            if (details.outTime != null)
            {
                details.cost = (details.outTime - details.inTime) * 3;
                parkingslot p = db.Parkingslots.Where(x => x.sl == details.Slot).FirstOrDefault();
                p.availability = Availability.Available;
                backup b = new backup();

                b.name          = details.name;
                b.contactNumber = details.contactNumber;
                b.vehicleNo     = details.vehicleNo;
                b.date          = details.date;
                // b.floor = details.serialno.floor;
                // b.slot = details.serialno.slot;
                // b.section = details.serialno.section;
                b.slot    = Convert.ToInt32(details.Slot);
                b.inTime  = details.inTime;
                b.outTime = Convert.ToDouble(details.outTime);
                b.cost    = Convert.ToDouble(details.cost);
                db.Backups.Add(b);
                v       = b.vehicleNo;
                date    = b.date.Date;
                outTime = b.outTime;

                db.Entry(details).State = EntityState.Modified;



                try
                {
                    await db.SaveChangesAsync();

                    db.Details.Remove(details);
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!detailsExists(id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }


                return(CreatedAtAction("GetBackups", new { controller = "backups", id = v }, details));
            }
            else
            {
                db.Entry(details).State = EntityState.Modified;
                try
                {
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!detailsExists(id))
                    {
                        return(NotFound("Id is not valid"));
                    }
                    else
                    {
                        throw;
                    }
                }

                return(CreatedAtAction("Getdetails", new { controller = "details", id = id }, details));
            }
        }