예제 #1
0
        public List <ReservationsDTO> ObtenerReservas(ReservationsDTO reservationsDTO)
        {
            List <ReservationsDTO> lstreservationsDTOs = new List <ReservationsDTO>();

            try
            {
                SqlParameter        sqlParameter;
                List <SqlParameter> lstsqlParameter = new List <SqlParameter>();
                DataSet             dsrsta;

                sqlParameter       = new SqlParameter("@BranchCode", DbType.String);
                sqlParameter.Value = reservationsDTO.BranchCode;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@RoomNumber", DbType.String);
                sqlParameter.Value = reservationsDTO.RoomNumber;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@CheckIn", DbType.Date);
                sqlParameter.Value = reservationsDTO.CheckIn;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@CheckOut", DbType.Date);
                sqlParameter.Value = reservationsDTO.CheckOut;
                lstsqlParameter.Add(sqlParameter);

                SqlServerHelper SQLConection = new SqlServerHelper();
                dsrsta = SQLConection.ExecuteProcedureToDataSet("GetBookedRoomsByBranch", lstsqlParameter);

                if (dsrsta != null && dsrsta.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow drTemp in dsrsta.Tables[0].Rows)
                    {
                        ReservationsDTO reservationsDTOs;
                        reservationsDTOs = new ReservationsDTO
                        {
                            BookDate    = Convert.ToDateTime(drTemp["BookDate"]),
                            BranchName  = Convert.ToString(drTemp["BranchName"]),
                            BranchCode  = Convert.ToString(drTemp["BranchCode"]),
                            RoomName    = Convert.ToString(drTemp["RoomName"]),
                            Number      = Convert.ToString(drTemp["Number"]),
                            Beds        = Convert.ToInt32(drTemp["Beds"]),
                            Description = Convert.ToString(drTemp["Description"]),
                            Price       = Convert.ToDecimal(drTemp["Price"]),
                            Vat         = Convert.ToDecimal(drTemp["Vat"]),
                            Discount    = Convert.ToDecimal(drTemp["Discount"])
                        };

                        lstreservationsDTOs.Add(reservationsDTOs);
                        reservationsDTOs = null;
                    }
                }
            }
            catch (Exception ae_e)
            {
                lstreservationsDTOs = null;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN EL SERVICIO ReservationsDAL:GetBookedRoomsByBranch");
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, " :: " + ae_e.Message);
            }

            return(lstreservationsDTOs);
        }
예제 #2
0
        public static void RegisterNewCarRent(ReservationsDTO reservationsDTO)
        {
            var db          = new RentCDataBaseEntities();
            var reservation = ConvertToEntity(reservationsDTO);

            db.Reservations.Add(reservation);
            db.SaveChanges();
        }
예제 #3
0
        public List <ReservationsDTO> GetDannBranch(ReservationsDTO reservationsDTO)
        {
            List <ReservationsDTO> lstreservationsDTOs = new List <ReservationsDTO>();

            try
            {
                SqlParameter        sqlParameter;
                List <SqlParameter> lstsqlParameter = new List <SqlParameter>();
                DataSet             dsrsta;

                sqlParameter       = new SqlParameter("@BranchCode", DbType.String);
                sqlParameter.Value = reservationsDTO.BranchCode;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@BranchName", DbType.String);
                sqlParameter.Value = reservationsDTO.BranchName;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@CityName", DbType.String);
                sqlParameter.Value = reservationsDTO.CityName;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@CiiuCode", DbType.String);
                sqlParameter.Value = reservationsDTO.CiiuCode;
                lstsqlParameter.Add(sqlParameter);

                SqlServerHelper SQLConection = new SqlServerHelper();
                dsrsta = SQLConection.ExecuteProcedureToDataSet("GetDannBranch", lstsqlParameter);

                if (dsrsta != null && dsrsta.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow drTemp in dsrsta.Tables[0].Rows)
                    {
                        ReservationsDTO reservationsDTOs;
                        reservationsDTOs = new ReservationsDTO
                        {
                            ID         = Convert.ToInt32(drTemp["Id"]),
                            BranchName = Convert.ToString(drTemp["BranchName"]),
                            BranchCode = Convert.ToString(drTemp["BranchCode"]),
                            Stars      = Convert.ToDecimal(drTemp["Stars"]),
                            Address    = Convert.ToString(drTemp["Address"]),
                            Phone      = Convert.ToString(drTemp["Phone"]),
                            City       = Convert.ToString(drTemp["City"]),
                            CiiuCode   = Convert.ToString(drTemp["CiiuCode"])
                        };

                        lstreservationsDTOs.Add(reservationsDTOs);
                        reservationsDTOs = null;
                    }
                }
            }
            catch (Exception ae_e)
            {
                lstreservationsDTOs = null;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN EL SERVICIO ReservationsDAL:GetDannBranch");
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, " :: " + ae_e.Message);
            }

            return(lstreservationsDTOs);
        }
예제 #4
0
        public StatusDTO InsertarReserva(ReservationsDTO reservationsDTO)
        {
            StatusDTO statusDTO = new StatusDTO();

            try
            {
                SqlParameter        sqlParameter;
                List <SqlParameter> lstsqlParameter = new List <SqlParameter>();
                DataSet             dsrsta;

                sqlParameter       = new SqlParameter("@BookDate", DbType.Date);
                sqlParameter.Value = reservationsDTO.BookDate;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@BranchId", DbType.Int32);
                sqlParameter.Value = reservationsDTO.BranchId;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@RoomId", DbType.Int32);
                sqlParameter.Value = reservationsDTO.RoomId;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@GuestFullName", DbType.String);
                sqlParameter.Value = reservationsDTO.GuestFullName;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@GuestDocumentNumber", DbType.String);
                sqlParameter.Value = reservationsDTO.GuestDocumentNumber;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@GuestDocumentTypeId", DbType.Int32);
                sqlParameter.Value = reservationsDTO.GuestDocumentTypeId;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@SourceCompanyCode", DbType.String);
                sqlParameter.Value = reservationsDTO.SourceCompanyCode;
                lstsqlParameter.Add(sqlParameter);
                sqlParameter       = new SqlParameter("@IsCancelprocess", DbType.Boolean);
                sqlParameter.Value = reservationsDTO.IsCancelprocess;
                lstsqlParameter.Add(sqlParameter);

                SqlServerHelper SQLConection = new SqlServerHelper();
                dsrsta = SQLConection.ExecuteProcedureToDataSet("BookRoom", lstsqlParameter);

                if (dsrsta != null && dsrsta.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow drTemp in dsrsta.Tables[0].Rows)
                    {
                        statusDTO.ErrorCode        = drTemp["ErrorCode"].ToString();
                        statusDTO.ErrorDescription = drTemp["ErrorDescription"].ToString();
                    }
                }
            }
            catch (Exception ae_e)
            {
                statusDTO = null;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN EL SERVICIO ReservationsDAL:BookRoom");
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, " :: " + ae_e.Message);
            }


            return(statusDTO);
        }
예제 #5
0
        private static Reservations ConvertToEntity(ReservationsDTO reservationsDTO)
        {
            Reservations reservation = new Reservations();

            reservation.ReservationID = reservationsDTO.ReservationID;
            reservation.CarID         = reservationsDTO.CarID;
            reservation.CostumerID    = reservationsDTO.CostumerID;
            reservation.ReservStatsID = reservationsDTO.ReservStatsID;
            reservation.StartDate     = reservationsDTO.StartDate;
            reservation.EndDate       = reservationsDTO.EndDate;
            reservation.Location      = reservationsDTO.Location;
            return(reservation);
        }
예제 #6
0
        public ReservationsDTO GetAllReservations(string userId)
        {
            var result = context.Reservations.Where(r => r.UserId == userId).ToList();

            ReservationsDTO reservationDTO = new ReservationsDTO()
            {
                reservationList = new List <ReservationDTO>()
            };

            foreach (Reservation reservation in result)
            {
                reservationDTO.reservationList.Add(mapper.Map <ReservationDTO>(reservation));
            }
            return(reservationDTO);
        }
        public async Task <ActionResult <ReservationsDTO> > Post([FromBody] ReservationsDTO reservationsDTO)
        {
            try
            {
                var location = LinkGenerator.GetPathByAction("Get", "Reservation", new { id = reservationsDTO.ReservationId });
                if (string.IsNullOrWhiteSpace(location))
                {
                    return(BadRequest("Could not use current Id"));
                }

                var newres = Mapper.Map <Reservation>(reservationsDTO);

                await UnitOfWork.AddReservationAsync(newres);

                return(Created($"/api/reservation/{reservationsDTO.ReservationId}", Mapper.Map <ReservationsDTO>(newres)));
            }
            catch (Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure"));
            }
            return(BadRequest());
        }
예제 #8
0
        BookRoomResponse IDannCarltonService.BookRoom(BookRoomRequest BookRoomRequest)
        {
            BookRoomResponse bookRoomResponse = new BookRoomResponse();

            bookRoomResponse.Status = new Status();

            try
            {
                ReservationsDTO             reservationsDTO;
                IDannCarltonServiceBusiness iDannCarlonSBusiness;

                reservationsDTO = new ReservationsDTO
                {
                    CheckIn             = BookRoomRequest.CheckIn,
                    CheckOut            = BookRoomRequest.CheckOut,
                    BranchId            = BookRoomRequest.BranchId,
                    GuestDocumentNumber = BookRoomRequest.GuestDocumentNumber,
                    GuestDocumentTypeId = BookRoomRequest.GuestDocumentTypeId,
                    GuestFullName       = BookRoomRequest.GuestFullName,
                    IsCancelprocess     = BookRoomRequest.IsCancelprocess,
                    RoomId            = BookRoomRequest.RoomId,
                    SourceCompanyCode = BookRoomRequest.SourceCompanyCode
                };

                iDannCarlonSBusiness = new DannCarltonServiceBusiness();
                bookRoomResponse     = iDannCarlonSBusiness.BookRoomResponseDTOs(reservationsDTO);
            }
            catch (Exception ex)
            {
                bookRoomResponse.Status.ErrorCode        = "01";
                bookRoomResponse.Status.ErrorDescription = "Error en el Servicio " + ex.Message;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN EL SERVICIO DannCarltonService:BookRoom " + ex.Message);
                //throw ex;
            }

            return(bookRoomResponse);
        }
        public async Task <ActionResult <ReservationsDTO> > Put(int reservationId, [FromBody] ReservationsDTO reservationsDTO)
        {
            try
            {
                var oldReservation = await UnitOfWork.GetReservationByReservationIdAsync(reservationId);

                if (oldReservation == null)
                {
                    return(NotFound($"Could not found resevation with this id: {reservationId}"));
                }

                Mapper.Map(reservationsDTO, oldReservation);

                if (await UnitOfWork.SaveChangesAsync())
                {
                    return(Mapper.Map <ReservationsDTO>(oldReservation));
                }
            }
            catch (Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure"));
            }
            return(BadRequest());
        }
예제 #10
0
        GetRoomsByBranchResponse IDannCarltonServiceBusiness.GetRoomsByBranch(GetRoomsByBranchRequest prmgetRoomsByBranchRequest)
        {
            GetRoomsByBranchResponse getRoomsByBranchResponse = new GetRoomsByBranchResponse();

            getRoomsByBranchResponse.Status = new Status();
            List <GetRoomsByBranchResult> lstgetRoomsByBranchResults = new List <GetRoomsByBranchResult>();

            try
            {
                ReservationsDTO reservationsDTO = new ReservationsDTO();

                if (prmgetRoomsByBranchRequest != null)
                {
                    if (prmgetRoomsByBranchRequest.BranchCode != null && prmgetRoomsByBranchRequest.BranchCode.Trim().Length > 0)
                    {
                        reservationsDTO.BranchCode = prmgetRoomsByBranchRequest.BranchCode;
                    }
                    else
                    {
                        throw new Exception("Branch Code Obligatorio");
                    }

                    ReservationsDAL        reservationsDAL = new ReservationsDAL();
                    List <ReservationsDTO> lstreservationsDTOs;

                    lstreservationsDTOs = reservationsDAL.GetRoomsByBranch(reservationsDTO);

                    if (lstreservationsDTOs != null)
                    {
                        getRoomsByBranchResponse.Status.ErrorDescription = "0";

                        if (lstreservationsDTOs.Count > 0)
                        {
                            foreach (ReservationsDTO FEreservationsDTO in lstreservationsDTOs)
                            {
                                GetRoomsByBranchResult getRoomsByBranchResult;
                                getRoomsByBranchResult = new GetRoomsByBranchResult
                                {
                                    Beds        = FEreservationsDTO.Beds,
                                    Id          = FEreservationsDTO.ID,
                                    BranchId    = FEreservationsDTO.BranchId,
                                    Description = FEreservationsDTO.Description,
                                    Discount    = FEreservationsDTO.Discount,
                                    Number      = FEreservationsDTO.Number,
                                    Price       = FEreservationsDTO.Price,
                                    RoomName    = FEreservationsDTO.RoomName,
                                    Vat         = FEreservationsDTO.Vat
                                };

                                lstgetRoomsByBranchResults.Add(getRoomsByBranchResult);
                            }

                            getRoomsByBranchResponse.Status.ErrorCode        = "0";
                            getRoomsByBranchResponse.Status.ErrorDescription = "Proceso Satisfactorio";
                            getRoomsByBranchResponse.GetRoomsByBranchResult  = lstgetRoomsByBranchResults.ToArray();
                        }
                        else
                        {
                            getRoomsByBranchResponse.Status.ErrorDescription = "No hay Rooms por el Branch ingresado";
                        }
                    }
                    else
                    {
                        getRoomsByBranchResponse.Status.ErrorCode        = "01";
                        getRoomsByBranchResponse.Status.ErrorDescription = "Error en la ejecución del servicio";
                    }
                }
                else
                {
                    throw new Exception("Parametros de entrada vacios");
                }
            }
            catch (Exception exc)
            {
                Exception le_e;

                le_e = exc.InnerException != null ? exc.InnerException : exc;
                getRoomsByBranchResponse.Status.ErrorCode        = "01";
                getRoomsByBranchResponse.Status.ErrorDescription = exc.InnerException != null ? "Error en la ejecucion del servicio" : exc.Message;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN LA CAPA DE NEGOCIO DannCarltonService:GetRoomsByBranch");
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, " :: " + le_e.Message);
                throw le_e;
            }

            return(getRoomsByBranchResponse);
        }
예제 #11
0
        GetDannBranchResponse IDannCarltonServiceBusiness.GetDannBranch(GetDannBranchRequest prmgetDannBranchRequest)
        {
            GetDannBranchResponse getDannBranchResponse = new GetDannBranchResponse();

            getDannBranchResponse.Status = new Status();
            List <GetDannBranchResult> lstgetDannBranchResults = new List <GetDannBranchResult>();

            try
            {
                ReservationsDTO reservationsDTO = new ReservationsDTO();

                if (prmgetDannBranchRequest != null)
                {
                    ReservationsDAL        reservationsDAL = new ReservationsDAL();
                    List <ReservationsDTO> lstreservationsDTOs;

                    lstreservationsDTOs = reservationsDAL.GetDannBranch(reservationsDTO);

                    if (lstreservationsDTOs != null)
                    {
                        getDannBranchResponse.Status.ErrorDescription = "0";

                        if (lstreservationsDTOs.Count > 0)
                        {
                            foreach (ReservationsDTO FEreservationsDTO in lstreservationsDTOs)
                            {
                                GetDannBranchResult getDannBranchResult;
                                getDannBranchResult = new GetDannBranchResult
                                {
                                    BranchName = FEreservationsDTO.BranchName,
                                    Id         = FEreservationsDTO.ID,
                                    Address    = FEreservationsDTO.Address,
                                    BranchCode = FEreservationsDTO.BranchCode,
                                    CiiuCode   = FEreservationsDTO.CiiuCode,
                                    City       = FEreservationsDTO.City,
                                    Phone      = FEreservationsDTO.Phone,
                                    Stars      = FEreservationsDTO.Stars
                                };

                                lstgetDannBranchResults.Add(getDannBranchResult);
                            }

                            getDannBranchResponse.Status.ErrorCode        = "0";
                            getDannBranchResponse.Status.ErrorDescription = "Proceso Satisfactorio";
                            getDannBranchResponse.GetDannBranchResult     = lstgetDannBranchResults.ToArray();
                        }
                        else
                        {
                            getDannBranchResponse.Status.ErrorDescription = "No hay Branch con los parametros ingresados";
                        }
                    }
                    else
                    {
                        getDannBranchResponse.Status.ErrorCode        = "01";
                        getDannBranchResponse.Status.ErrorDescription = "Error en la ejecución del servicio";
                    }
                }
                else
                {
                    throw new Exception("Parametros de entrada vacios");
                }
            }
            catch (Exception exc)
            {
                Exception le_e;

                le_e = exc.InnerException != null ? exc.InnerException : exc;
                getDannBranchResponse.Status.ErrorCode        = "01";
                getDannBranchResponse.Status.ErrorDescription = exc.InnerException != null ? "Error en la ejecucion del servicio" : exc.Message;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN LA CAPA DE NEGOCIO DannCarltonService:GetDannBranch");
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, " :: " + le_e.Message);
                throw le_e;
            }


            return(getDannBranchResponse);
        }
예제 #12
0
        BookRoomResponse IDannCarltonServiceBusiness.BookRoomResponseDTOs(ReservationsDTO insertbookRoom)
        {
            BookRoomResponse bookRoomResponse = new BookRoomResponse();

            bookRoomResponse.Status = new Status();

            try
            {
                ReservationsDTO reservationsDTO = new ReservationsDTO();

                if (insertbookRoom != null)
                {
                    if (insertbookRoom.CheckIn != null && insertbookRoom.CheckIn != new DateTime())
                    {
                        reservationsDTO.CheckIn  = insertbookRoom.CheckIn;
                        reservationsDTO.BookDate = insertbookRoom.CheckIn;
                    }
                    else
                    {
                        throw new Exception("CheckIN Obligatorio");
                    }
                    if (insertbookRoom.CheckOut != null && insertbookRoom.CheckOut != new DateTime())
                    {
                        reservationsDTO.CheckOut = insertbookRoom.CheckOut;
                    }
                    else
                    {
                        throw new Exception("Check OUT Obligatorio");
                    }

                    if (insertbookRoom.BranchId != 0)
                    {
                        reservationsDTO.BranchId = insertbookRoom.BranchId;
                    }
                    else
                    {
                        throw new Exception("Branch Id Obligatorio");
                    }
                    if (insertbookRoom.RoomId != 0)
                    {
                        reservationsDTO.RoomId = insertbookRoom.RoomId;
                    }
                    else
                    {
                        throw new Exception("Room Id Obligatorio");
                    }
                    if (insertbookRoom.GuestFullName != null && insertbookRoom.GuestFullName.Trim().Length > 0)
                    {
                        reservationsDTO.GuestFullName = insertbookRoom.GuestFullName;
                    }
                    else
                    {
                        throw new Exception("Guest Full Name Obligatorio");
                    }
                    if (insertbookRoom.GuestDocumentNumber != null && insertbookRoom.GuestDocumentNumber.Trim().Length > 0)
                    {
                        reservationsDTO.GuestDocumentNumber = insertbookRoom.GuestDocumentNumber;
                    }
                    else
                    {
                        throw new Exception("Guest Document Number Obligatorio");
                    }
                    if (insertbookRoom.GuestDocumentTypeId != 0)
                    {
                        reservationsDTO.GuestDocumentTypeId = insertbookRoom.GuestDocumentTypeId;
                    }
                    else
                    {
                        throw new Exception("Guest Document TypeId Obligatorio");
                    }
                    if (insertbookRoom.SourceCompanyCode != null && insertbookRoom.SourceCompanyCode.Trim().Length > 0)
                    {
                        reservationsDTO.SourceCompanyCode = insertbookRoom.SourceCompanyCode;
                    }
                    else
                    {
                        throw new Exception("Source Company Code Obligatorio");
                    }

                    ReservationsDAL reservationsDAL = new ReservationsDAL();
                    StatusDTO       statusDTO       = new StatusDTO();

                    while (reservationsDTO.BookDate <= reservationsDTO.CheckOut)
                    {
                        statusDTO = reservationsDAL.InsertarReserva(reservationsDTO);

                        if (statusDTO.ErrorCode != "0" && statusDTO.ErrorCode != "-1")
                        {
                            bookRoomResponse.Status.ErrorCode        = statusDTO.ErrorCode;
                            bookRoomResponse.Status.ErrorDescription = statusDTO.ErrorDescription + " Date " + reservationsDTO.BookDate.ToString("yyyy-MM-dd");
                            break;
                        }
                        else
                        {
                            bookRoomResponse.Status.ErrorCode        = statusDTO.ErrorCode;
                            bookRoomResponse.Status.ErrorDescription = statusDTO.ErrorDescription;
                        }

                        reservationsDTO.BookDate = reservationsDTO.BookDate.AddDays(1);
                    }
                }
                else
                {
                    throw new Exception("Parametros de entrada vacios");
                }
            }
            catch (Exception exc)
            {
                Exception le_e;

                le_e = exc.InnerException != null ? exc.InnerException : exc;
                bookRoomResponse.Status.ErrorCode        = "01";
                bookRoomResponse.Status.ErrorDescription = exc.InnerException != null ? "Error en la ejecucion del servicio" : exc.Message;
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN LA CAPA DE NEGOCIO DannCarltonService:BookRoom");
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, " :: " + le_e.Message);
                throw le_e;
            }

            return(bookRoomResponse);
        }