// Add POST: Contact/Post
 public async Task<bool> Post(ContactDto value) 
 {
     if (ModelState.IsValid)
     {
       return await ClientInvokeHttpPOST<ContactDto>(value);
     }
     return false;
 }
 //Update PUT: Contact/Put/
 public async Task<bool> Put(ContactDto value)
 {
     if (ModelState.IsValid)
     {
        return await  ClientHTTPPut<ContactDto>(value);
     }
     return false;
 }
  /// <summary>
  /// Converts the dto to entities.
  /// </summary>
  /// <param name="_ContactDto">The Contact dto</param>
  /// <param name="efContact">已存在的Contact EF model</param>
  /// <returns>Contact</returns>
 public Contact ConvertDtoToEntities(ContactDto _ContactDto, Contact efContact)
 {
      if (_ContactDto==null && efContact==null)
      {
           throw new ArgumentNullException("models should not be null");
      }
       ConvertObject(_ContactDto, efContact);
       return efContact;
 }
          /// <summary>
          /// Converts the dto to entities.
          /// </summary>
          /// <param name="_ ContactDto">The  Contact dto.</param>
          /// <param name="ef Contact">已存的EntityFramework实体 ef Contact</param>
          /// <param name="skipNullPropertyValue">if set to <c>true</c> [skip null property value].</param>
          /// <returns>Contact</returns>
        public Contact ConvertDtoToEntities(ContactDto _ContactDto, Contact efContact, bool skipNullPropertyValue)
        {
               if (_ContactDto==null && efContact==null)
               {
                    throw new ArgumentNullException("models should not be null");
               }
 
              ConvertObjectWithCheckNull(_ContactDto, skipNullPropertyValue, efContact);
              return efContact;
        }
        // GET: Contact/Find/?pageindex=1&pagesize=10&....
        public async Task<JsonResult> Find(ContactDto _ContactDto,int pageIndex=1,int pageSize=10)
        {
          string pageQueryString = string.Empty;
           //for EASYUI datagrid
           if (Request["page"] != null)
           {
               pageIndex = Convert.ToInt32(Request["page"].ToString());
           }
		    pageQueryString = string.Format("&pageIndex={0}&pageSize={1}", pageIndex, pageSize);
           return Json(await ClientHTTPGetList<EasyuiDatagridData<ContactDto>, ContactDto>(_ContactDto, pageQueryString));
        }
示例#6
0
        /// <summary>
        /// Builds all query.
        /// </summary>
        /// <param name="_Contact">The Contact dto.</param>
        /// <returns></returns>
        private static  Expression<Func<Contact, bool>> BuildAllQuery(ContactDto _contactDto)
       { 
           var list = new List<Expression<Func<Contact, bool>>>();

                if (_contactDto.ContactID > 0) list.Add(c => c.ContactID == _contactDto.ContactID);
    if (_contactDto.NameStyle != null) list.Add(c => c.NameStyle == _contactDto.NameStyle);
    if (!string.IsNullOrEmpty(_contactDto.Title)) list.Add(c => c.Title.Contains(_contactDto.Title));
    if (!string.IsNullOrEmpty(_contactDto.FirstName)) list.Add(c => c.FirstName.Contains(_contactDto.FirstName));
    if (!string.IsNullOrEmpty(_contactDto.MiddleName)) list.Add(c => c.MiddleName.Contains(_contactDto.MiddleName));
    if (!string.IsNullOrEmpty(_contactDto.LastName)) list.Add(c => c.LastName.Contains(_contactDto.LastName));
    if (!string.IsNullOrEmpty(_contactDto.Suffix)) list.Add(c => c.Suffix.Contains(_contactDto.Suffix));
    if (!string.IsNullOrEmpty(_contactDto.EmailAddress)) list.Add(c => c.EmailAddress.Contains(_contactDto.EmailAddress));
    if (_contactDto.EmailPromotion > 0) list.Add(c => c.EmailPromotion == _contactDto.EmailPromotion);
    if (!string.IsNullOrEmpty(_contactDto.Phone)) list.Add(c => c.Phone.Contains(_contactDto.Phone));
    if (!string.IsNullOrEmpty(_contactDto.PasswordHash)) list.Add(c => c.PasswordHash.Contains(_contactDto.PasswordHash));
    if (!string.IsNullOrEmpty(_contactDto.PasswordSalt)) list.Add(c => c.PasswordSalt.Contains(_contactDto.PasswordSalt));
    if (!string.IsNullOrEmpty(_contactDto.AdditionalContactInfo)) list.Add(c => c.AdditionalContactInfo.Contains(_contactDto.AdditionalContactInfo));
    
    
          //Add more condition
            Expression<Func<Contact, bool>> entityQueryConditionTotal = null;
            foreach (var e in list)
            {
                entityQueryConditionTotal= entityQueryConditionTotal == null ? e : entityQueryConditionTotal.And(e);

            }
            return entityQueryConditionTotal;
       }
示例#7
0
 /// <summary>
 /// Creates the entiy asynchronous.
 /// </summary>
 /// <param name="t">The t.</param>
 /// <returns></returns>
 public async Task<int> CreateEntiyAsync(ContactDto tDTo)
 {
     var dbEntity = typeAdapter.ConvertDtoToEntities(tDTo);
     entiesrepository.Add(dbEntity);
     return await entiesrepository.SaveAsync();
 }
示例#8
0
        /// <summary>
        /// Updates the with attach entiy asynchronous.
        /// </summary>
        /// <param name="tDTo">The t d to.</param>
        /// <returns></returns>
        public async Task<int> UpdateWithAttachEntiyAsync(ContactDto tDTo)
        {
            var dbentity = typeAdapter.ConvertDtoToEntities(tDTo);
            if (StateHelpers.GetEquivalentEntityState(dbentity.State) == StateHelpers.GetEquivalentEntityState(State.Detached))
            {
                entiesrepository.Attach(dbentity);
            }

            dbentity.State = State.Modified;
            context.ChangeObjectState<Contact>(dbentity, StateHelpers.GetEquivalentEntityState(dbentity.State));

            return await uow.SaveAsync();
        }
 public bool Put(ContactDto value)
 {
     return _ContactBO.UpdateWithAttachEntiy(value);
 }
示例#10
0
         /// <summary>
        /// Update With Attach the ContactEntiy.
        /// </summary>
        /// <param name="Entiy">The Entiy.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</return
        public bool UpdateWithAttachEntiy(ContactDto t)
        {
            var dbentity = typeAdapter.ConvertDtoToEntities(t);
            if (StateHelpers.GetEquivalentEntityState(dbentity.State)==StateHelpers.GetEquivalentEntityState(State.Detached))
            {
               entiesrepository.Attach(dbentity); 
            }

            dbentity.State = State.Modified;
            context.ChangeObjectState<Contact>(dbentity,  StateHelpers.GetEquivalentEntityState(dbentity.State));

            uow.Save();
            return true;
        }
示例#11
0
 /// <summary>
 /// Updates the Contactentiy with get.
 /// </summary>
 /// <param name="t">The t.</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</return>
 public bool UpdateEntiyWithGet(ContactDto entity)
 {
     var dbEntity = entiesrepository.Repository.Single(e => e.ContactID == entity.ContactID);
     dbEntity = typeAdapter.ConvertDtoToEntities(entity,dbEntity,skipNullPropertyValue:true);
     uow.Save();
     return true;
 }
 public Contact ConvertDtoToEntities(ContactDto _ContactDto, Contact efContact)
 {
     return new Contact();
 }
示例#13
0
 /// <summary>
 /// The del entiy.
 /// </summary>
 /// <param name="entities"></param>
 /// <returns>
 /// The <see cref="bool" />.
 /// </returns>
 public bool DeleteWithAttachEntiy(ContactDto[] entities)
 {
     bool flag = false;
    if (entities!=null& entities.Length>0)
    {
        foreach(var entity in entities)
        {
            flag=DeleteWithAttachEntiy(entity);
        }
    }
    return flag;
 }
        /// <summary>
        /// Converts the entities to dto.
       /// </summary>
       /// <param name="_Contact">The Contact entity</param>
       /// <returns>ContactDto</returns>
      public ContactDto ConvertEntitiesToDto(Contact  _Contact)
     {
           if (_Contact==null)
           {
                    throw new ArgumentNullException("models should not be null");
           }
 
          var _ContactDto =new ContactDto();
                      _ContactDto.ContactID=_Contact.ContactID; 
               _ContactDto.NameStyle=_Contact.NameStyle; 
               _ContactDto.Title=_Contact.Title; 
               _ContactDto.FirstName=_Contact.FirstName; 
               _ContactDto.MiddleName=_Contact.MiddleName; 
               _ContactDto.LastName=_Contact.LastName; 
               _ContactDto.Suffix=_Contact.Suffix; 
               _ContactDto.EmailAddress=_Contact.EmailAddress; 
               _ContactDto.EmailPromotion=_Contact.EmailPromotion; 
               _ContactDto.Phone=_Contact.Phone; 
               _ContactDto.PasswordHash=_Contact.PasswordHash; 
               _ContactDto.PasswordSalt=_Contact.PasswordSalt; 
               _ContactDto.AdditionalContactInfo=_Contact.AdditionalContactInfo; 
               _ContactDto.rowguid=_Contact.rowguid; 
               _ContactDto.ModifiedDate=_Contact.ModifiedDate; 
              return _ContactDto;
     }
 private static void ConvertObject(ContactDto _ContactDto, Contact efContact)
 {
     efContact.ContactID=_ContactDto.ContactID; 
        efContact.NameStyle=_ContactDto.NameStyle; 
        efContact.Title=_ContactDto.Title; 
        efContact.FirstName=_ContactDto.FirstName; 
        efContact.MiddleName=_ContactDto.MiddleName; 
        efContact.LastName=_ContactDto.LastName; 
        efContact.Suffix=_ContactDto.Suffix; 
        efContact.EmailAddress=_ContactDto.EmailAddress; 
        efContact.EmailPromotion=_ContactDto.EmailPromotion; 
        efContact.Phone=_ContactDto.Phone; 
        efContact.PasswordHash=_ContactDto.PasswordHash; 
        efContact.PasswordSalt=_ContactDto.PasswordSalt; 
        efContact.AdditionalContactInfo=_ContactDto.AdditionalContactInfo; 
        efContact.rowguid=_ContactDto.rowguid; 
        efContact.ModifiedDate=_ContactDto.ModifiedDate; 
    }
 public bool Post(ContactDto value)
 {
     return _ContactBO.CreateEntiy(value);
 }
 /// <summary>
 /// Gets the specified identifier.
 /// </summary>
 /// <param name="id">The identifier.</param>
 /// <example><code>GET: api/Contact/5</code></example>
 /// <returns>ContactDto</returns>
 public ContactDto Get(Int32 id)
 {
     var dtoEntity = new ContactDto() { ContactID=id};
     return _ContactBO.GetEntiyByPK(dtoEntity);
 }
 // DELETE: api/Contact/5
 public bool Delete(int id)
 {
     var entity = new ContactDto() { ContactID = id };
     return _ContactBO.DeleteWithAttachEntiy(entity);
 }
示例#19
0
 /// <summary>
 /// Gets the Entiy
 /// </summary>
 /// <param name="pid">The pid.</param>
 /// <returns>Entiy</returns>
 public ContactDto GetEntiyByPK(ContactDto tDTo)
 {
     var entity=entiesrepository.Repository.Single(e => e.ContactID == tDTo.ContactID);
     return typeAdapter.ConvertEntitiesToDto(entity);
  
 }
 public Contact ConvertDtoToEntities(ContactDto _ContactDto, Contact efContact, bool skipNullPropertyValue)
 {
     return new Contact();
 }
示例#21
0
 /// <summary>
 /// Deletes the with attach entiy asynchronous.
 /// </summary>
 /// <param name="t">The t.</param>
 /// <returns></returns>
 public async Task<int> DeleteWithAttachEntiyAsync(ContactDto tDTo)
 {
     var dbEntity = typeAdapter.ConvertDtoToEntities(tDTo);
     entiesrepository.Attach(dbEntity);
     entiesrepository.Delete(dbEntity);
     return await entiesrepository.SaveAsync();
 }
 // DELETE: api/Contact/5
 public void Delete(int id)
 {
     var entity = new ContactDto() { ContactID = id };
     _ContactBO.DeleteWithAttachEntiy(entity);
 }
示例#23
0
 /// <summary>
 /// Dels the With Attach Entiy.
 /// </summary>
 /// <param name="Entiy">The Entiy.</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
 public bool DeleteEntiy(ContactDto t)
 {
     var dbEntity = typeAdapter.ConvertDtoToEntities(t);
     entiesrepository.Delete(dbEntity);
     entiesrepository.Save();
     return true;
 }
 public void Put(ContactDto value)
 {
     _ContactBO.UpdateWithAttachEntiy(value);
 }
示例#25
0
         /// <summary>
        /// Update  the ContactEntiy.
        /// </summary>
        /// <param name="Entiy">The Entiy.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</return
        public bool UpdateEntiy(ContactDto t)
        {
            var dbentity = typeAdapter.ConvertDtoToEntities(t);
            dbentity.State = State.Modified;
            context.ChangeObjectState<Contact>(dbentity,  StateHelpers.GetEquivalentEntityState(dbentity.State));

            uow.Save();
            return true;
        }
   private static void ConvertObjectWithCheckNull(ContactDto _ContactDto, bool skipNullPropertyValue, Contact efContact)
   {
        efContact.ContactID=_ContactDto.ContactID;
             efContact.NameStyle=_ContactDto.NameStyle;
   
        if (!skipNullPropertyValue ||  _ContactDto.Title != null) {efContact.Title=_ContactDto.Title; }
 
        if (!skipNullPropertyValue ||  _ContactDto.FirstName != null) {efContact.FirstName=_ContactDto.FirstName; }
 
        if (!skipNullPropertyValue ||  _ContactDto.MiddleName != null) {efContact.MiddleName=_ContactDto.MiddleName; }
 
        if (!skipNullPropertyValue ||  _ContactDto.LastName != null) {efContact.LastName=_ContactDto.LastName; }
 
        if (!skipNullPropertyValue ||  _ContactDto.Suffix != null) {efContact.Suffix=_ContactDto.Suffix; }
 
        if (!skipNullPropertyValue ||  _ContactDto.EmailAddress != null) {efContact.EmailAddress=_ContactDto.EmailAddress; }
           efContact.EmailPromotion=_ContactDto.EmailPromotion;
   
        if (!skipNullPropertyValue ||  _ContactDto.Phone != null) {efContact.Phone=_ContactDto.Phone; }
 
        if (!skipNullPropertyValue ||  _ContactDto.PasswordHash != null) {efContact.PasswordHash=_ContactDto.PasswordHash; }
 
        if (!skipNullPropertyValue ||  _ContactDto.PasswordSalt != null) {efContact.PasswordSalt=_ContactDto.PasswordSalt; }
 
        if (!skipNullPropertyValue ||  _ContactDto.AdditionalContactInfo != null) {efContact.AdditionalContactInfo=_ContactDto.AdditionalContactInfo; }
           efContact.rowguid=_ContactDto.rowguid;
             efContact.ModifiedDate=_ContactDto.ModifiedDate;
  
     }
示例#27
0
        /// <summary>
        /// Updates the entiy asynchronous.
        /// </summary>
        /// <param name="tDTo">The t d to.</param>
        /// <returns></returns>
        public async Task<int> UpdateEntiyAsync(ContactDto tDTo)
        {
            var dbentity = typeAdapter.ConvertDtoToEntities(tDTo);
            dbentity.State = State.Modified;
            context.ChangeObjectState<Contact>(dbentity, StateHelpers.GetEquivalentEntityState(dbentity.State));

            return await uow.SaveAsync();
        }
        public void TransformDTOtoContact()
        {
            var adapter = new TypeAdapter();
            var contact = new ContactDto()
            {
                FirstName = "gates"
            };
            var dto = adapter.Transform<ContactDto,Contact>(contact);

            Assert.Equal(dto.FirstName, contact.FirstName);
        }
示例#29
0
 /// <summary>
 /// Updates the entiy with get asynchronous.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <returns></returns>
 public async Task<int> UpdateEntiyWithGetAsync(ContactDto entity)
 {
     var dbEntity = entiesrepository.Repository.Single(e => e.ContactID == entity.ContactID);
     dbEntity = typeAdapter.ConvertDtoToEntities(entity, dbEntity, skipNullPropertyValue: true);
     return await uow.SaveAsync();
 }
 public void Post(ContactDto value)
 {
     _ContactBO.CreateEntiy(value);
 }