public MakePaymentViewModel() { PaymentMainDto = new PaymentMainDto(); PaymentProfileDto = new PaymentProfileDto(); EmployerAccountTransactionDto = new EmployerAccountTransactionDto(); EmployerDto = new EmployerDto(); }
protected static void FromDtoSet(FACTS.Framework.DAL.DbContext dbContext, PaymentProfileDto dto, PaymentProfile entity, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities) { entity.AgentId = dto.AgentId; entity.BankAccountNumber = dto.BankAccountNumber; entity.CreateDateTime = dto.CreateDateTime; entity.CreateUserId = dto.CreateUserId; entity.EmployerId = dto.EmployerId; entity.PaymentAccountTypeCode = dto.PaymentAccountTypeCode; entity.PaymentProfileId = dto.PaymentProfileId; entity.PaymentTypeCode = dto.PaymentTypeCode; entity.RoutingTransitNumber = dto.RoutingTransitNumber; entity.UpdateDateTime = dto.UpdateDateTime; entity.UpdateNumber = dto.UpdateNumber; entity.UpdateProcess = dto.UpdateProcess; entity.UpdateUserId = dto.UpdateUserId; entity.Employer = (dto.Employer == null) ? null : Employer.FromDto(dbContext, dto.Employer, dtoEntities); }
/// <summary>Convert from PaymentProfile entity to DTO w/o checking entity state or entity navigation</summary> /// <param name="dto">DTO to use if already created instead of creating new one (can be inherited class instead as opposed to base class)</param> /// <returns>Resultant PaymentProfile DTO</returns> public PaymentProfileDto ToDto(PaymentProfileDto dto = null) { dto = dto ?? new PaymentProfileDto(); dto.IsNew = false; dto.AgentId = AgentId; dto.BankAccountNumber = BankAccountNumber; dto.CreateDateTime = CreateDateTime; dto.CreateUserId = CreateUserId; dto.EmployerId = EmployerId; dto.PaymentAccountTypeCode = PaymentAccountTypeCode; dto.PaymentProfileId = PaymentProfileId; dto.PaymentTypeCode = PaymentTypeCode; dto.RoutingTransitNumber = RoutingTransitNumber; dto.UpdateDateTime = UpdateDateTime; dto.UpdateNumber = UpdateNumber; dto.UpdateProcess = UpdateProcess; dto.UpdateUserId = UpdateUserId; return(dto); }
/// <summary>Convert from PaymentProfile entity to DTO</summary> /// <param name="dbContext">DB Context to use for setting DTO state</param> /// <param name="dto">DTO to use if already created instead of creating new one (can be inherited class instead as opposed to base class)</param> /// <param name="entityDtos">Used internally to track which entities have been converted to DTO's already (to avoid re-converting when circularly referenced)</param> /// <returns>Resultant PaymentProfile DTO</returns> public PaymentProfileDto ToDtoDeep(FACTS.Framework.DAL.DbContext dbContext, PaymentProfileDto dto = null, Dictionary <BaseEntity, FACTS.Framework.Dto.BaseDto> entityDtos = null) { entityDtos = entityDtos ?? new Dictionary <BaseEntity, FACTS.Framework.Dto.BaseDto>(); if (entityDtos.ContainsKey(this)) { return((PaymentProfileDto)entityDtos[this]); } dto = ToDto(dto); entityDtos.Add(this, dto); System.Data.Entity.Infrastructure.DbEntityEntry <PaymentProfile> entry = dbContext?.Entry(this); dto.IsNew = (entry?.State == EntityState.Added); dto.IsDeleted = (entry?.State == EntityState.Deleted); if (entry?.Reference(x => x.Employer)?.IsLoaded == true) { dto.Employer = Employer?.ToDtoDeep(dbContext, entityDtos: entityDtos); } return(dto); }
/// <summary>Convert from PaymentProfile DTO to entity</summary> /// <param name="dbContext">DB Context to use for attaching entity</param> /// <param name="dto">DTO to convert from</param> /// <param name="dtoEntities">Used internally to track which dtos have been converted to entites already (to avoid re-converting when circularly referenced)</param> /// <returns>Resultant PaymentProfile entity</returns> public static PaymentProfile FromDto(FACTS.Framework.DAL.DbContext dbContext, PaymentProfileDto dto, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities = null) { dtoEntities = dtoEntities ?? new Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity>(); if (dtoEntities.ContainsKey(dto)) { return((PaymentProfile)dtoEntities[dto]); } PaymentProfile entity = new PaymentProfile(); dtoEntities.Add(dto, entity); FromDtoSet(dbContext, dto, entity, dtoEntities); if (dbContext != null) { dbContext.Entry(entity).State = (dto.IsNew ? EntityState.Added : (dto.IsDeleted ? EntityState.Deleted : EntityState.Modified)); } return(entity); }
/// <summary>Convert from PaymentProfile DTO to entity</summary> /// <param name="dbContext">DB Context to use for attaching entity</param> /// <param name="dto">DTO to convert from</param> /// <param name="dtoEntities">Used internally to track which dtos have been converted to entites already (to avoid re-converting when circularly referenced)</param> /// <returns>Resultant PaymentProfile entity</returns> public static PaymentProfile FromDto(FACTS.Framework.DAL.DbContext dbContext, PaymentProfileDto dto, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities = null) { dtoEntities = dtoEntities ?? new Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity>(); if (dtoEntities.ContainsKey(dto)) { return((PaymentProfile)dtoEntities[dto]); } PaymentProfile entity = new PaymentProfile(); dtoEntities.Add(dto, entity); entity.AgentId = dto.AgentId; entity.BankAccountNumber = dto.BankAccountNumber; entity.CreateDateTime = dto.CreateDateTime; entity.CreateUserId = dto.CreateUserId; entity.EmployerId = dto.EmployerId; entity.PaymentAccountTypeCode = dto.PaymentAccountTypeCode; entity.PaymentProfileId = dto.PaymentProfileId; entity.PaymentTypeCode = dto.PaymentTypeCode; entity.RoutingTransitNumber = dto.RoutingTransitNumber; entity.UpdateDateTime = dto.UpdateDateTime; entity.UpdateNumber = dto.UpdateNumber; entity.UpdateProcess = dto.UpdateProcess; entity.UpdateUserId = dto.UpdateUserId; entity.Employer = (dto.Employer == null) ? null : Employer.FromDto(dbContext, dto.Employer, dtoEntities); if (dbContext != null) { dbContext.Entry(entity).State = (dto.IsNew ? EntityState.Added : (dto.IsDeleted ? EntityState.Deleted : EntityState.Modified)); } return(entity); }
public static MakePaymentViewModel GetEmployerDueAmount(int emprAccountID) { MakePaymentViewModel LocalPaymentViewModel = new MakePaymentViewModel(); EmployerAccountTransactionDto localEmployerAccountTransaction = new EmployerAccountTransactionDto(); EmployerDto localEmployerDto = new EmployerDto(); PaymentMainDto localPaymentMainDto = new PaymentMainDto(); PaymentProfileDto localPaymentProfileDto = new PaymentProfileDto(); using (DbContext context = new DbContext()) { localEmployerDto = (from employerDetail in context.Employers where employerDetail.EmployerId == emprAccountID select new EmployerDto { EmployerId = employerDetail.EmployerId, EntityName = employerDetail.EntityName, }).FirstOrDefault(); if (localEmployerDto != null) { localEmployerAccountTransaction = (from emptranDetail in context.EmployerAccountTransactions where emptranDetail.EmployerId == localEmployerDto.EmployerId select new EmployerAccountTransactionDto { OwedAmount = emptranDetail.OwedAmount, UnpaidAmount = emptranDetail.UnpaidAmount }).FirstOrDefault(); localPaymentMainDto = (from pmtMainDetail in context.PaymentMains where pmtMainDetail.EmployerId == localEmployerAccountTransaction.EmployerId select new PaymentMainDto { RoutingTransitNumber = pmtMainDetail.RoutingTransitNumber, BankAccountNumber = pmtMainDetail.BankAccountNumber, BankAccountTypeCode = pmtMainDetail.BankAccountTypeCode, PaymentAmount = pmtMainDetail.PaymentAmount, PaymentTransactionDate = pmtMainDetail.PaymentTransactionDate, PaymentMethodCode = pmtMainDetail.PaymentMethodCode, PaymentStatusCode = pmtMainDetail.PaymentStatusCode, PaymentMainId = pmtMainDetail.PaymentMainId }).FirstOrDefault(); localPaymentProfileDto = (from pmtProfile in context.PaymentProfiles where pmtProfile.EmployerId == localPaymentMainDto.EmployerId && pmtProfile.BankAccountNumber == localPaymentMainDto.BankAccountNumber select new PaymentProfileDto { AgentId = pmtProfile.AgentId, BankAccountNumber = pmtProfile.BankAccountNumber, CreateDateTime = pmtProfile.CreateDateTime, CreateUserId = pmtProfile.CreateUserId, EmployerId = pmtProfile.EmployerId, PaymentAccountTypeCode = pmtProfile.PaymentAccountTypeCode, PaymentProfileId = pmtProfile.PaymentProfileId, PaymentTypeCode = pmtProfile.PaymentTypeCode, RoutingTransitNumber = pmtProfile.RoutingTransitNumber, UpdateDateTime = pmtProfile.UpdateDateTime, UpdateNumber = pmtProfile.UpdateNumber, UpdateUserId = pmtProfile.UpdateUserId, }).FirstOrDefault(); } } LocalPaymentViewModel.EmployerAccountTransactionDto = localEmployerAccountTransaction; LocalPaymentViewModel.EmployerDto = localEmployerDto; LocalPaymentViewModel.PaymentMainDto = localPaymentMainDto; LocalPaymentViewModel.PaymentProfileDto = localPaymentProfileDto; return(LocalPaymentViewModel); }