示例#1
0
        /// <summary>
        /// CreateContractEmailReservation
        /// </summary>
        /// <param name="contractStaticViewModel"></param>
        /// <param name="loggedUser"></param>
        /// <returns>Task<BaseResult<long>></returns>
        private async Task <BaseResult <long> > CreateContractEmailReservation(ContractStaticViewModel contractStaticViewModel, string loggedUser)
        {
            BaseResult <long> result = new BaseResult <long>();
            var contractEmails       = contractStaticViewModel.HotelDetailsViewModel.ReservationEmail.Split(',');

            var list = new List <ContractEmailReservation>();

            foreach (var item in contractEmails)
            {
                var model = new ContractEmailReservation()
                {
                    ContractId  = contractStaticViewModel.ContractId,
                    Email       = item,
                    HotelId     = contractStaticViewModel.HotelDetailsViewModel.HotelId,
                    IsDeleted   = false,
                    CreatedBy   = loggedUser,
                    CreatedDate = DateTime.Now.JakartaOffset(),
                    UpdatedBy   = loggedUser,
                    UpdatedDate = DateTime.Now.JakartaOffset()
                };
                list.Add(model);
            }

            result = await this.iContractEmailReservation.InsertEntityList(list).ConfigureAwait(false);

            return(result);
        }
示例#2
0
        /// <summary>
        /// SaveContractEmailReservation
        /// </summary>
        /// <param name="contractStaticViewModel"></param>
        /// <param name="loggedUser"></param>
        /// <returns>Task<BaseResult<long>></returns>
        private async Task <BaseResult <long> > SaveContractEmailReservation(ContractStaticViewModel contractStaticViewModel, string loggedUser)
        {
            BaseResult <long> result = new BaseResult <long>();

            if (contractStaticViewModel.HotelDetailsViewModel.ObjectState == ObjectState.Added)
            {
                result = await CreateContractEmailReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false);

                return(result);
            }
            if (contractStaticViewModel.HotelDetailsViewModel.ObjectState == ObjectState.Modified)
            {
                var listDb = await this.iContractEmailReservation.GetListByPredicate(p => p.HotelId == contractStaticViewModel.HotelDetailsViewModel.HotelId && p.ContractId == contractStaticViewModel.ContractId).ConfigureAwait(false);

                var contractEmails = contractStaticViewModel.HotelDetailsViewModel.ReservationEmail.Split(',');
                var list           = new List <ContractEmailReservation>();

                foreach (var item in listDb.Result)
                {
                    item.IsDeleted   = true;
                    item.UpdatedBy   = loggedUser;
                    item.UpdatedDate = DateTime.Now.JakartaOffset();
                    var model = new ContractEmailReservation()
                    {
                        Id          = item.Id,
                        IsDeleted   = true,
                        UpdatedBy   = loggedUser,
                        UpdatedDate = DateTime.Now.JakartaOffset()
                    };
                    list.Add(model);
                }
                await this.iContractEmailReservation.UpdateEntityList(listDb.Result).ConfigureAwait(false);
                await CreateContractEmailReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false);
            }
            return(result);
        }
示例#3
0
 public async Task <BaseResult <long> > InsertContractEmailReservation(ContractEmailReservation request)
 {
     return(await iContractEmailReservation.InsertEntity(request).ConfigureAwait(false));
 }