public static ContractHotelViewModel AutoMapperContractHotelViewModel( ContractStaticViewModel contractStaticViewModel) { var mapped = AutoMapper.Mapper.Map <ContractHotelViewModel>(contractStaticViewModel); return(mapped); }
public async Task <IActionResult> CreateStaticContract([FromBody] ContractStaticViewModel contractStaticViewModel) { BaseResult <ContractStaticViewModel> insertResult = null; try { if (contractStaticViewModel.HotelDetailsViewModel.HotelId == 0) { return(this.BadRequest(contractStaticViewModel)); } insertResult = await this._icontractsStatic.CreateContract(contractStaticViewModel, this.LoggedInUserName).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { return(StatusCode(500, insertResult)); } else if (insertResult.Result == null) { return(this.NoContent()); // 204 } return(this.Ok(insertResult)); } catch (Exception ex) { return(StatusCode(500, ex)); } }
/// <summary> /// AutomapperContract /// </summary> /// <param name="viewModel"></param> /// <param name="model"></param> /// <param name="loggedUserName"></param> /// <param name="objectState"></param> /// <returns></returns> public static Contract AutomapperContract(ContractStaticViewModel viewModel, Contract model, string loggedUserName, ObjectState?objectState) { var modelMapped = AutoMapper.Mapper.Map <Contract>(viewModel); ResolveRemainingParamters(modelMapped, model, loggedUserName, objectState); return(modelMapped); }
/// <summary> /// ResolveRemainingParamters /// </summary> /// <param name="destination"></param> /// <param name="source"></param> /// <param name="model"></param> /// <param name="hotel"></param> /// <param name="loggedUser"></param> public static void ResolveRemainingParamters(ContractHotel destination, ContractStaticViewModel source, ContractHotel model, Hotel hotel, string loggedUser, ObjectState?objectState) { destination.ContractId = source.ContractId; destination.Id = model.Id; destination.Code = source.HotelDetailsViewModel.HotelCode; destination.Name = source.HotelDetailsViewModel.HotelName; destination.NameItemId = hotel.NameItemId; destination.ShortDescriptionItemId = hotel.ShortDescriptionItemId; if (objectState == ObjectState.Added) { destination.CreatedBy = loggedUser; destination.UpdatedBy = loggedUser; destination.CreatedDate = DateTime.Now.JakartaOffset(); destination.UpdatedDate = DateTime.Now.JakartaOffset(); } if (objectState == ObjectState.Modified) { if (destination.IsChannelManagerConnectivity == false || destination.ChannelManagerId == 0) { destination.ChannelManagerId = null; } destination.CreatedBy = model.CreatedBy; destination.UpdatedBy = loggedUser; destination.CreatedDate = model.CreatedDate; destination.UpdatedDate = DateTime.Now.JakartaOffset(); } }
/// <summary> /// AutomapperContractHotel /// </summary> /// <param name="source"></param> /// <param name="model"></param> /// <param name="hotel"></param> /// <param name="loggedUser"></param> /// <returns></returns> public static ContractHotel AutomapperContractHotel(ContractStaticViewModel source, ContractHotel model, Hotel hotel, string loggedUser, ObjectState?objectState) { var mappedModel = AutoMapper.Mapper.Map <ContractHotel>(source.HotelDetailsViewModel); ResolveRemainingParamters(mappedModel, source, model, hotel, loggedUser, objectState); return(mappedModel); }
/// <summary> /// CreateContractTelephoneReservation /// </summary> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <returns>Task<BaseResult<long>></returns> private async Task <BaseResult <long> > CreateContractTelephoneReservation(ContractStaticViewModel contractStaticViewModel, string loggedUser) { BaseResult <long> result = new BaseResult <long>(); var contractEmails = contractStaticViewModel.HotelDetailsViewModel.ReservationContactNo.Split(','); var list = new List <ContractTelephoneReservation>(); foreach (var item in contractEmails) { var model = new ContractTelephoneReservation() { ContractId = contractStaticViewModel.ContractId, Telephone = 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.iContractTelephoneReservation.InsertEntityList(list).ConfigureAwait(false); return(result); }
/// <summary> /// SaveContractTelephoneReservation /// </summary> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <returns>Task<BaseResult<long>></returns> private async Task <BaseResult <long> > SaveContractTelephoneReservation(ContractStaticViewModel contractStaticViewModel, string loggedUser) { BaseResult <long> result = new BaseResult <long>(); if (contractStaticViewModel.HotelDetailsViewModel.ObjectState == ObjectState.Added) { result = await CreateContractTelephoneReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false); return(result); } if (contractStaticViewModel.HotelDetailsViewModel.ObjectState == ObjectState.Modified) { var listDb = await this.iContractTelephoneReservation.GetListByPredicate(p => p.HotelId == contractStaticViewModel.HotelDetailsViewModel.HotelId && p.ContractId == contractStaticViewModel.ContractId).ConfigureAwait(false); var contractEmails = contractStaticViewModel.HotelDetailsViewModel.ReservationContactNo.Split(','); var list = new List <ContractTelephoneReservation>(); foreach (var item in listDb.Result) { item.IsDeleted = true; item.UpdatedBy = loggedUser; item.UpdatedDate = DateTime.Now.JakartaOffset(); var model = new ContractTelephoneReservation() { IsDeleted = true, UpdatedBy = loggedUser, UpdatedDate = DateTime.Now.JakartaOffset() }; list.Add(model); } await this.iContractTelephoneReservation.UpdateEntityList(listDb.Result).ConfigureAwait(false); await CreateContractTelephoneReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false); } return(result); }
/// <summary> /// The save contract hotel. /// </summary> /// <param name="contractStaticViewModel"> /// The contract static view model. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> private async Task <BaseResult <ContractHotel> > SaveContractHotel(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var result = new BaseResult <ContractHotel>(); var contractHotelViewModel = new ContractHotelViewModel { HotelDetailsViewModel = contractStaticViewModel .HotelDetailsViewModel, ContractId = contractStaticViewModel.ContractId }; var mappedModel = DbMapperMasterdata.AutomapperContractHotel(contractHotelViewModel.HotelDetailsViewModel, loggedUser); mappedModel.ContractId = contractStaticViewModel.ContractId; var u = this.iHotel.GetEntity(mappedModel.HotelId).Result.Result; mappedModel.NameItemId = u.NameItemId; mappedModel.ShortDescriptionItemId = u.ShortDescriptionItemId; var insertResult = await this.iContractHotel.InsertEntity(mappedModel).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { result.IsError = insertResult.IsError; result.ExceptionMessage = insertResult.ExceptionMessage; } return(result); }
/// <summary> /// SaveContractHotelTax /// </summary> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <returns>Task<BaseResult<long>></returns> private async Task <BaseResult <long> > SaveContractHotelTax(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var result = new BaseResult <long>(); var contractHotelTaxList = new List <ContractHotelTaxRelation>(); foreach (var item in contractStaticViewModel.HotelDetailsViewModel.TaxDetails) { if (item.ObjectState == ObjectState.Added) { var model = new ContractHotelTaxRelation(); var mappedmodel = DbMapperMasterdata.AutomapperContractHotelTaxRelation(item, model, contractStaticViewModel, loggedUser, contractStaticViewModel.ObjectState); contractHotelTaxList.Add(mappedmodel); } if (item.ObjectState == ObjectState.Modified) { var param = new DynamicParameters(); param.Add(Constants.StoredProcedureParameters.ContractId, contractStaticViewModel.ContractId); param.Add(Constants.StoredProcedureParameters.HotelId, contractStaticViewModel.HotelDetailsViewModel.HotelId); param.Add(Constants.StoredProcedureParameters.TaxTypeId, item.TaxTypeId); param.Add(Constants.StoredProcedureParameters.TaxApplicabilityId, item.TaxApplicabilityId); param.Add(Constants.StoredProcedureParameters.Amount, item.Amount); param.Add(Constants.StoredProcedureParameters.IsIncludedInRates, item.IsIncludedInRates); param.Add(Constants.StoredProcedureParameters.IsDeleted, item.IsDeleted); await iContractHotelTaxRelation.ExecuteStoredProcedureDynamicModel(Constants.StoredProcedure.UpdateContractHotelTaxRelation, param).ConfigureAwait(false); } } if (contractHotelTaxList != null && contractHotelTaxList.Count > 0) { result = await this.iContractHotelTaxRelation.InsertEntityList(contractHotelTaxList).ConfigureAwait(false); } return(result); }
/// <summary> /// SaveContractContact /// </summary> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <returns>Task<BaseResult<long>></returns> private async Task <BaseResult <long> > SaveContractContact(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var insertList = new List <ContractContact>(); var updateList = new List <ContractContact>(); var result = new BaseResult <long>(); foreach (var item in contractStaticViewModel.HotelDetailsViewModel.ContactDetails) { if (item.ObjectState == ObjectState.Added) { item.HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId; var contractContactViewModel = DbMapperMasterdata.AutomapperContractContactViewModel(item); var contractContactModel = DbMapperMasterdata.AutomapperContractContact(contractContactViewModel, loggedUser); contractContactModel.ContractId = contractStaticViewModel.ContractId; insertList.Add(contractContactModel); } if (item.ObjectState == ObjectState.Modified) { item.HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId; var contractContactViewModel = DbMapperMasterdata.AutomapperContractContactViewModel(item); var contractContactModel = DbMapperMasterdata.AutomapperContractContact(contractContactViewModel, loggedUser); contractContactModel.ContractId = contractStaticViewModel.ContractId; updateList.Add(contractContactModel); } } if (insertList.Count > 0) { result = await iContractContact.InsertEntityList(insertList).ConfigureAwait(false); if (result != null && result.Result > 0) { result.Result = contractStaticViewModel.ContractId; } else { result.IsError = true; } } if (updateList.Count > 0) { var updateResult = await iContractContact.UpdateEntityList(updateList).ConfigureAwait(false); if (updateResult.Result) { result.Result = contractStaticViewModel.ContractId; } else { result.IsError = true; } } return(result); }
public static Contract AutomapperContract(ContractStaticViewModel viewModel, Contract model, string loggedUserName) { var modelMapped = AutoMapper.Mapper.Map <Contract>(viewModel); modelMapped.CreatedBy = loggedUserName; modelMapped.UpdatedBy = loggedUserName; modelMapped.CreatedDate = DateTime.Now.JakartaOffset(); modelMapped.UpdatedDate = DateTime.Now.JakartaOffset(); ResolveRemainingParamters(modelMapped, model); return(modelMapped); }
public async Task <IActionResult> CreateStaticContract([FromBody] ContractStaticViewModel contractStaticViewModel) { var insertResult = await this._icontractsStatic.CreateContract(contractStaticViewModel, this.LoggedInUserName).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { return(new StatusCodeResult(500)); } else if (insertResult.Result == null) { return(this.NoContent()); // 204 } return(this.Ok(insertResult)); }
private async Task <BaseResult <long> > SaveContractHotelTax(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var result = new BaseResult <long>(); var contractHotelTaxList = new List <ContractHotelTaxRelation>(); foreach (var item in contractStaticViewModel.HotelDetailsViewModel.TaxDetails) { var mappedViewModel = AutoMapper.Mapper.Map <ContractHotelTaxRelationViewModel>(item); var mappedmodel = DbMapperMasterdata.AutomapperContractHotelTaxRelation(mappedViewModel, loggedUser); mappedmodel.HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId; mappedmodel.ContractId = contractStaticViewModel.ContractId; contractHotelTaxList.Add(mappedmodel); result = await this.iContractHotelTaxRelation.InsertEntity(mappedmodel).ConfigureAwait(false); } //var result = await this.iContractHotelTaxRelation.InsertEntityList(contractHotelTaxList).ConfigureAwait(false); return(result); }
private async Task <BaseResult <long> > SaveContractContact(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var contractContactList = new List <ContractContact>(); foreach (var item in contractStaticViewModel.HotelDetailsViewModel.ContactDetails) { if (item.ObjectState == ObjectState.Added) { item.HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId; var contractContactViewModel = DbMapperMasterdata.AutomapperContractContactViewModel(item); var contractContactModel = DbMapperMasterdata.AutomapperContractContact(contractContactViewModel, loggedUser); contractContactModel.Contractid = contractStaticViewModel.ContractId; contractContactList.Add(contractContactModel); } } var result = await iContractContact.InsertEntityList(contractContactList).ConfigureAwait(false); return(result); }
/// <summary> /// The create contract. /// </summary> /// <param name="contractStaticViewModel"> /// The contract view model. /// </param> /// <param name="loggedUser">Logged in user name</param> /// <returns> /// The <see cref="Task"/>. /// </returns> public async Task <BaseResult <ContractViewModel> > CreateContract( ContractStaticViewModel contractStaticViewModel, string loggedUser) { var result = new BaseResult <ContractViewModel>(); var contract = new Contract(); contract = DbMapperMasterdata.AutomapperContract(contractStaticViewModel, contract, loggedUser); contract.StatusID = 1; var insertResult = await this.iContract.InsertEntity(contract).ConfigureAwait(false); contractStaticViewModel.ContractId = (int)insertResult.Result; var insertResultHotelFields = await this.InsertTemplateFieldsToContractFieldsHotel(contractStaticViewModel) .ConfigureAwait(false); var insertResultRoomFields = await this.InsertTemplateFieldsToContractFieldsRoom(contractStaticViewModel) .ConfigureAwait(false); await this.SaveContractHotel(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractContact(contractStaticViewModel, loggedUser).ConfigureAwait(false); //await this.SaveContractHotelTax(contractStaticViewModel, loggedUser).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { result.IsError = insertResult.IsError; result.ExceptionMessage = insertResult.ExceptionMessage; } result.Result.Id = (int)insertResult.Result; return(result); }
/// <summary> /// SaveContractPaymentMethod /// </summary> /// <param name="contractStaticViewModel"></param> /// <returns>Task<BaseResult<long>></returns> private async Task <BaseResult <long> > SaveContractPaymentMethod(ContractStaticViewModel contractStaticViewModel) { BaseResult <long> result = new BaseResult <long>(); if (contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.ObjectState == ObjectState.Added) { var model = new ContractHotelPaymentMethodRelation() { ContractId = contractStaticViewModel.ContractId, CurrencyId = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.CurrencyId, HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId, IsDeleted = false, PaymentMethodId = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.PaymentMethodId, RateTypeId = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.RateTypeId }; result = await this.iContractHotelPaymentMethodRelation.InsertEntity(model).ConfigureAwait(false); return(result); } else if (contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.ObjectState == ObjectState.Modified) { var model = new ContractHotelPaymentMethodRelation() { Id = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.HotelPaymentMethodRelationId, ContractId = contractStaticViewModel.ContractId, CurrencyId = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.CurrencyId, HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId, IsDeleted = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.IsDeleted, PaymentMethodId = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.PaymentMethodId, RateTypeId = contractStaticViewModel.HotelDetailsViewModel.HotelPaymentMethodRelation.RateTypeId }; await this.iContractHotelPaymentMethodRelation.UpdateEntityByDapper(model).ConfigureAwait(false); } return(result); }
/// <summary> /// The save contract template fields. /// </summary> /// <param name="contractViewModel"> /// The contract view model. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> private async Task <BaseResult <long> > InsertTemplateFieldsToContractFieldsRoom(ContractStaticViewModel contractViewModel) { var roomFields = await this.iTemplateRoomProperties .GetListByPredicate( p => p.IsSelected == true && p.TemplateId == contractViewModel.TemplateId) .ConfigureAwait(false); var insertList = new List <ContractRoomProperties>(); foreach (var item in roomFields.Result) { var entity = new ContractRoomProperties { ContractId = contractViewModel.ContractId, IsDeleted = item.IsDeleted, FieldId = item.FieldId, UpdatedBy = "sa", UpdatedDate = DateTime.Now, CreatedBy = "sa", CreatedDate = DateTime.Now }; insertList.Add(entity); } var insertResult = await this.iContractRoomProperties.InsertEntityList(insertList).ConfigureAwait(false); return(insertResult); }
/// <summary> /// InsertTemplateFieldsToContractFieldsRoom /// </summary> /// <param name="contractViewModel"></param> /// <param name="loggedUser"></param> /// <returns></returns> private async Task <BaseResult <long> > InsertTemplateFieldsToContractFieldsRoom(ContractStaticViewModel contractViewModel, string loggedUser) { var insertResult = new BaseResult <long>(); if (contractViewModel.ObjectState == ObjectState.Added) { var roomFields = await this.iTemplateRoomProperties .GetListByPredicate( p => p.IsSelected == true && p.TemplateId == contractViewModel.TemplateId) .ConfigureAwait(false); var insertList = new List <ContractRoomProperties>(); foreach (var item in roomFields.Result) { var entity = new ContractRoomProperties { ContractId = contractViewModel.ContractId, IsDeleted = item.IsDeleted, FieldId = item.FieldId, UpdatedBy = loggedUser, UpdatedDate = DateTime.Now.JakartaOffset(), CreatedBy = loggedUser, CreatedDate = DateTime.Now.JakartaOffset() }; insertList.Add(entity); } insertResult = await this.iContractRoomProperties.InsertEntityList(insertList).ConfigureAwait(false); } if (contractViewModel.ObjectState == ObjectState.Modified) { var roomFields = await this.iContractRoomProperties .GetListByPredicate( p => p.ContractId == contractViewModel.ContractId && p.IsDeleted == false) .ConfigureAwait(false); var updateList = new List <ContractRoomProperties>(); foreach (var item in roomFields.Result) { var entity = new ContractRoomProperties { ContractId = contractViewModel.ContractId, IsDeleted = item.IsDeleted, FieldId = item.FieldId, UpdatedBy = loggedUser, UpdatedDate = DateTime.Now.JakartaOffset(), CreatedBy = item.CreatedBy, CreatedDate = item.CreatedDate }; updateList.Add(entity); } await this.iContractRoomProperties.UpdateEntityList(updateList).ConfigureAwait(false); } return(insertResult); }
/// <summary> /// ResolveRemainingParamters /// </summary> /// <param name="destination"></param> /// <param name="source"></param> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <param name="objectState"></param> public static void ResolveRemainingParamters(ContractHotelTaxRelation destination, ContractHotelTaxRelation source, ContractStaticViewModel contractStaticViewModel, string loggedUser, ObjectState?objectState) { destination.HotelId = contractStaticViewModel.HotelDetailsViewModel.HotelId; destination.ContractId = contractStaticViewModel.ContractId; if (objectState == ObjectState.Added) { destination.CreatedBy = loggedUser; destination.CreatedDate = DateTime.Now.JakartaOffset(); } else if (objectState == ObjectState.Modified) { destination.CreatedBy = source.CreatedBy; destination.CreatedDate = source.CreatedDate; } destination.UpdatedBy = loggedUser; destination.UpdatedDate = DateTime.Now.JakartaOffset(); }
/// <summary> /// AutomapperContractHotelTaxRelation /// </summary> /// <param name="hotelTaxRelationViewModel"></param> /// <param name="model"></param> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <param name="objectState"></param> /// <returns></returns> public static ContractHotelTaxRelation AutomapperContractHotelTaxRelation(HotelTaxRelationViewModel hotelTaxRelationViewModel, ContractHotelTaxRelation model, ContractStaticViewModel contractStaticViewModel, string loggedUser, ObjectState?objectState) { var mappedModel = AutoMapper.Mapper.Map <ContractHotelTaxRelation>(hotelTaxRelationViewModel); ResolveRemainingParamters(mappedModel, model, contractStaticViewModel, loggedUser, objectState); return(mappedModel); }
/// <summary> /// InsertTemplateFieldsToContractFieldsHotel /// </summary> /// <param name="contractViewModel"></param> /// <param name="loggedUser"></param> /// <returns></returns> private async Task <BaseResult <long> > InsertTemplateClausesToContractClausesLibrary(ContractStaticViewModel contractViewModel, string loggedUser) { var insertResult = new BaseResult <long>(); if (contractViewModel.ObjectState == ObjectState.Added) { var param = new DynamicParameters(); param.Add(Constants.StoredProcedureParameters.TemplateId, contractViewModel.TemplateId); var clauseFields = await this.iClauseLibrary.ExecuteStoredProcedure( Constants.StoredProcedure.GetContractHotelClauses, param).ConfigureAwait(false); var insertList = new List <ContractClauseLibraryRelation>(); foreach (var item in clauseFields.Result) { var entity = new ContractClauseLibraryRelation { ContractId = contractViewModel.ContractId, ClauseLibraryId = item.Id, IsDeleted = item.IsDeleted, IsActive = item.IsActive, UpdatedBy = loggedUser, UpdatedDate = DateTime.Now.JakartaOffset(), CreatedBy = loggedUser, CreatedDate = DateTime.Now.JakartaOffset() }; insertList.Add(entity); } insertResult = await this.iContractClauseLibraryRelation.InsertEntityList(insertList).ConfigureAwait(false); } if (contractViewModel.ObjectState == ObjectState.Modified) { var clauseFields = await this.iContractClauseLibraryRelation .GetListByPredicate( p => p.ContractId == contractViewModel.ContractId && p.IsDeleted == false) .ConfigureAwait(false); var updateList = new List <ContractClauseLibraryRelation>(); foreach (var item in clauseFields.Result) { var entity = new ContractClauseLibraryRelation { ContractId = contractViewModel.ContractId, IsDeleted = item.IsDeleted, UpdatedBy = loggedUser, UpdatedDate = DateTime.Now.JakartaOffset(), CreatedBy = item.CreatedBy, CreatedDate = item.CreatedDate }; updateList.Add(entity); } await this.iContractClauseLibraryRelation.UpdateEntityList(updateList).ConfigureAwait(false); } return(insertResult); }
/// <summary> /// CreateContract /// </summary> /// <param name="contractStaticViewModel"></param> /// <param name="loggedUser"></param> /// <returns>Task<BaseResult<ContractStaticViewModel>></returns> public async Task <BaseResult <ContractStaticViewModel> > CreateContract(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var result = new BaseResult <ContractStaticViewModel>() { Result = new ContractStaticViewModel() }; var insertResult = new BaseResult <long>(); var updateResult = new BaseResult <bool>(); var contract = this.iContract.GetEntity(id: contractStaticViewModel.ContractId).Result.Result; result.Result.Id = contractStaticViewModel.ContractId; contract = DbMapperMasterdata.AutomapperContract(contractStaticViewModel, contract, loggedUser, contractStaticViewModel.ObjectState); if (contractStaticViewModel.ObjectState == ObjectState.Added) { contract.StatusID = 1; /// draft insertResult = await this.iContract.InsertEntity(contract).ConfigureAwait(false); contractStaticViewModel.ContractId = (int)insertResult.Result; result.Result.Id = (int)insertResult.Result; } if (contractStaticViewModel.ObjectState == ObjectState.Modified) { var contractModified = AutoMapper.Mapper.Map <Contract>(contractStaticViewModel); updateResult = await iContract.UpdateEntityByDapper(contractModified).ConfigureAwait(false); result.Result.Id = contractStaticViewModel.ContractId; } var insertResultHotelFields = await this.InsertTemplateFieldsToContractFieldsHotel(contractStaticViewModel, loggedUser).ConfigureAwait(false); var insertResultRoomFields = await this.InsertTemplateFieldsToContractFieldsRoom(contractStaticViewModel, loggedUser).ConfigureAwait(false); var insertContractClausesLibraryRelation = await this.InsertTemplateClausesToContractClausesLibrary(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractHotel(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractContact(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractHotelTax(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractPaymentMethod(contractStaticViewModel).ConfigureAwait(false); if (contractStaticViewModel.ObjectState == ObjectState.Added && insertResult.IsError && insertResult.ExceptionMessage != null) { result.IsError = insertResult.IsError; result.ExceptionMessage = insertResult.ExceptionMessage; result.Result.Id = (int)insertResult.Result; return(result); } if (contractStaticViewModel.ObjectState == ObjectState.Modified && updateResult.IsError && updateResult.ExceptionMessage != null) { result.IsError = updateResult.IsError; result.ExceptionMessage = updateResult.ExceptionMessage; result.Result.Id = contractStaticViewModel.ContractId; return(result); } return(result); }
/// <summary> /// SaveContractHotel /// </summary> /// <param name="contractStaticViewModel"/> /// <param name="loggedUser"></param> /// <returns>Task<BaseResult<ContractHotel>></returns> private async Task <BaseResult <ContractHotel> > SaveContractHotel(ContractStaticViewModel contractStaticViewModel, string loggedUser) { var result = new BaseResult <ContractHotel>() { Result = new ContractHotel() }; var hotel = this.iHotel.GetEntity(contractStaticViewModel.HotelDetailsViewModel.HotelId).Result.Result; if (contractStaticViewModel.HotelDetailsViewModel.ObjectState == ObjectState.Added) { var model = new ContractHotel(); var mappedModel = DbMapperMasterdata.AutomapperContractHotel(contractStaticViewModel, model, hotel, loggedUser, contractStaticViewModel.HotelDetailsViewModel.ObjectState); await this.SaveContractEmailReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractTelephoneReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false); var insertResult = await this.iContractHotel.InsertEntity(mappedModel).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { result.IsError = insertResult.IsError; result.ExceptionMessage = insertResult.ExceptionMessage; } else if (insertResult == null) { result = null; return(result); } result.Result.Id = (int)insertResult.Result; } if (contractStaticViewModel.HotelDetailsViewModel.ObjectState == ObjectState.Modified) { var model1 = await this.iContractHotel.GetEntity(contractStaticViewModel.ContractId).ConfigureAwait(false); var model = await iContractHotel.GetListByPredicate(p => p.HotelId == contractStaticViewModel.HotelDetailsViewModel.HotelId && p.ContractId == contractStaticViewModel.ContractId).ConfigureAwait(false); var mappedModel = DbMapperMasterdata.AutomapperContractHotel(contractStaticViewModel, model.Result[0], hotel, loggedUser, contractStaticViewModel.HotelDetailsViewModel.ObjectState); var updateResult = await this.iContractHotel.UpdateEntityByDapper(mappedModel).ConfigureAwait(false); await this.SaveContractEmailReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false); await this.SaveContractTelephoneReservation(contractStaticViewModel, loggedUser).ConfigureAwait(false); if (updateResult.IsError && updateResult.ExceptionMessage != null) { result.IsError = updateResult.IsError; result.ExceptionMessage = updateResult.ExceptionMessage; } else if (updateResult == null) { result = null; return(result); } if (updateResult.Result == true) { result.Result.ContractId = contractStaticViewModel.ContractId; } } return(result); }