Example #1
0
        public async Task <IActionResult> EditQuote([FromBody] AddEditQuote request)
        {
            APIByIdObjectResponse ard = new APIByIdObjectResponse();

            try
            {
                Quote    data     = db.Quotes.Where((x) => x.Id == request.Id && x.QuoteStatus != (int)QuoteStatus.DELETED).Include((x) => x.Customer).FirstOrDefault();
                DateTime?nullDate = null;

                data.DepartureId        = request.DepatureId;
                data.DestinationId      = request.DestinationId;
                data.NumberOfTravellers = request.NumberOfTravellers;
                data.TransportationId   = request.TransportationId;
                data.DepatureDate       = Convert.ToDateTime(request.DepatureDate);
                data.ReturnDate         = request.ReturnDate != null?Convert.ToDateTime(request.ReturnDate) : nullDate;

                data.DateModified          = DateTime.UtcNow;
                data.Customer.FirstName    = request.Customer.FirstName;
                data.Customer.LastName     = request.Customer.LastName;
                data.Customer.PhoneNumber  = request.Customer.PhoneNumber;
                data.Customer.Email        = request.Customer.Email;
                data.Customer.Address      = request.Customer.Address;
                data.Customer.DateModified = DateTime.UtcNow;

                await db.SaveChangesAsync();

                ard.Message = "Success";
            }
            catch (Exception ex)
            {
                ard.Message = ex.Message.ToString();
            }

            return(response.JsonReturn(ard, 200));
        }
Example #2
0
 public ContentResult JsonReturn(APIByIdObjectResponse ard, int statusCode)
 {
     return(new ContentResult()
     {
         ContentType = "application/json",
         StatusCode = statusCode,
         Content = JsonSerializer.SerializeObject(ard)
     });
 }
        public IActionResult GetTransportation()
        {
            APIByIdObjectResponse ard = new APIByIdObjectResponse();

            try
            {
                var data = db.Transportations.ToList().ToDictionary(x => x.Id, x => x);

                ard.ObjectsArray = data;
                ard.Message      = "Success";
            }
            catch (Exception ex)
            {
                ard.Message = ex.Message.ToString();
            }

            return(response.JsonReturn(ard, 200));
        }
Example #4
0
        public async Task <IActionResult> DeleteQuote([FromBody] DeleteQuote request)
        {
            APIByIdObjectResponse ard = new APIByIdObjectResponse();

            try
            {
                db.Quotes.Where((x) => x.Id == request.Id).FirstOrDefault().QuoteStatus = (int)QuoteStatus.DELETED;
                await db.SaveChangesAsync();

                ard.Message = "Success";
            }
            catch (Exception ex)
            {
                ard.Message = ex.Message.ToString();
            }

            return(response.JsonReturn(ard, 200));
        }
Example #5
0
        public async Task <IActionResult> AddQuote([FromBody] AddEditQuote request)
        {
            APIByIdObjectResponse ard = new APIByIdObjectResponse();

            try
            {
                DateTime?nullDate = null;

                db.Quotes.Add(new Quote()
                {
                    DepartureId        = request.DepatureId,
                    DestinationId      = request.DestinationId,
                    NumberOfTravellers = request.NumberOfTravellers,
                    TransportationId   = request.TransportationId,
                    QuoteStatus        = (int)QuoteStatus.SUCCEEDED,
                    DepatureDate       = Convert.ToDateTime(request.DepatureDate),
                    ReturnDate         = request.ReturnDate.Length > 0 ? Convert.ToDateTime(request.ReturnDate) : nullDate,
                    DateAdded          = DateTime.UtcNow,
                    Customer           = new Customer()
                    {
                        FirstName   = request.Customer.FirstName,
                        LastName    = request.Customer.LastName,
                        PhoneNumber = request.Customer.PhoneNumber,
                        Email       = request.Customer.Email,
                        Address     = request.Customer.Address,
                        DateAdded   = DateTime.UtcNow
                    }
                });

                await db.SaveChangesAsync();

                ard.Message = "Success";
            }
            catch (Exception ex)
            {
                ard.Message = ex.Message.ToString();
            }

            return(response.JsonReturn(ard, 200));
        }
Example #6
0
        public async Task <IActionResult> GetAirports([FromBody] GetAirportRequest request)
        {
            APIByIdObjectResponse ard = new APIByIdObjectResponse();

            try
            {
                var data = await db.Airports
                           .Where((x) => request.Keywords.Length > 0?x.Name.Contains(request.Keywords) : true)
                           .Where((x) => request.Id != null ? x.Id == request.Id : true)
                           .Skip((request.PageSize ?? 20) * ((request.PageNumber ?? 0) - 1))
                           .Take(request.PageSize ?? 20).ToListAsync();

                List <AirportDTO> dto = new List <AirportDTO>();

                data.ForEach((x) =>
                {
                    dto.Add(new AirportDTO()
                    {
                        Id          = x.Id,
                        Name        = x.Name,
                        Code        = x.Code,
                        CountryCode = x.CountryCode,
                        CountryName = x.CountryName,
                        StateCode   = x.StateCode
                    });
                });

                ard.ObjectsArray = data.ToDictionary(x => x.Id, x => x);
                ard.Message      = "Success";
            }
            catch (Exception ex)
            {
                ard.Message = ex.Message.ToString();
            }

            return(response.JsonReturn(ard, 200));
        }
Example #7
0
        public async Task <IActionResult> GetQuotes([FromBody] GetQuoteRequest request)
        {
            APIByIdObjectResponse ard = new APIByIdObjectResponse();

            try
            {
                int total = db.Quotes.Where((x) => request.Deleted == false ? x.QuoteStatus == (int)QuoteStatus.SUCCEEDED : x.QuoteStatus == (int)QuoteStatus.DELETED).Count();

                var data = await db.Quotes
                           .Include((x) => x.Customer).Include((x) => x.Departure).Include((x) => x.Destination).Include((x) => x.Transportation)
                           .Where((x) => request.Id != null ? x.Id == request.Id : true)
                           .Where((x) => request.Deleted == false ? x.QuoteStatus == (int)QuoteStatus.SUCCEEDED : x.QuoteStatus == (int)QuoteStatus.DELETED)
                           .Where((x) => request.Keywords.Length > 0 ? x.Customer.FirstName.Contains(request.Keywords) : true)
                           .Skip((request.PageSize ?? 20) * ((request.PageNumber ?? 0) - 1))
                           .Take(request.PageSize ?? 20)
                           .ToListAsync();

                List <QuoteDTO> qut = new List <QuoteDTO>();

                data.ForEach((x) =>
                {
                    qut.Add(new QuoteDTO()
                    {
                        Id                 = x.Id,
                        DepatureId         = x.DepartureId,
                        DestinationId      = x.DestinationId,
                        TransportationId   = x.TransportationId,
                        NumberOfTravellers = x.NumberOfTravellers,
                        DepatureDate       = x.DepatureDate,
                        ReturnDate         = x.ReturnDate,
                        DateAdded          = x.DateAdded,
                        DateModified       = x.DateModified,
                        Customer           = new CustomerDTO()
                        {
                            Id          = x.Customer.Id,
                            FirstName   = x.Customer.FirstName,
                            LastName    = x.Customer.LastName,
                            PhoneNumber = x.Customer.PhoneNumber,
                            Email       = x.Customer.Email,
                            Address     = x.Customer.Address,
                        },
                        Depature = new AirportDTO()
                        {
                            Id          = x.Departure.Id,
                            Name        = x.Departure.Name,
                            Code        = x.Departure.Code,
                            CountryCode = x.Departure.CountryCode,
                            CountryName = x.Departure.CountryName,
                            StateCode   = x.Departure.StateCode
                        },
                        Destination = new AirportDTO()
                        {
                            Id          = x.Destination.Id,
                            Name        = x.Destination.Name,
                            Code        = x.Destination.Code,
                            CountryCode = x.Destination.CountryCode,
                            CountryName = x.Destination.CountryName,
                            StateCode   = x.Destination.StateCode
                        },
                    });
                });

                ard.ObjectsArray = qut.ToDictionary(x => x.Id, x => x);
                ard.TotalRecords = total;
                ard.Message      = "Success";
            }
            catch (Exception ex)
            {
                ard.Message = ex.Message.ToString();
            }

            return(response.JsonReturn(ard, 200));
        }