public async Task<StatusData<string>> DeleteEducationHistory(SingleData<int> request, SystemSession session)
        {
            var serviceRequest = new UserAcademics
            {
                UserId = session.UserId,
                Mode = (byte)SystemDbStatus.Deleted,
                AcademicId = request.Data
            };
            var response = await Task.Factory.StartNew(() => Client.UserService.upsertAcademic(serviceRequest, session.GetSession())).ConfigureAwait(false);

            var result = new StatusData<string> { Status = (SystemDbStatus)response.DbStatus.DbStatusCode, Message = response.DbStatus.DbStatusMsg, SubStatus = response.DbStatus.DbSubStatusCode };

            return result;
        }
 public void send_upsertAcademic(UserAcademics userAcademic, Session session)
 #endif
 {
   oprot_.WriteMessageBegin(new TMessage("upsertAcademic", TMessageType.Call, seqid_));
   upsertAcademic_args args = new upsertAcademic_args();
   args.UserAcademic = userAcademic;
   args.Session = session;
   args.Write(oprot_);
   oprot_.WriteMessageEnd();
   #if SILVERLIGHT
   return oprot_.Transport.BeginFlush(callback, state);
   #else
   oprot_.Transport.Flush();
   #endif
 }
        public async Task<StatusData<string>> UpdateEducationHistory(UpdateAcademicRequest request, SystemSession session)
        {
            var serviceRequest = new UserAcademics
            {
                UserId = session.UserId,
                Mode = (byte)SystemDbStatus.Updated,
                DisplayOrderId = 0,
                AcademicInstitute = request.AcademicInstitute,
                City = new City { CityId = request.CityId > 0 ? request.CityId : 0 },
                JoinedYear = request.JoinedYear.ToString(),
                GraduatedYear = request.GraduatedYear.ToString(),
                HasGraduated = request.HasGraduated,
                Degree = null,
                Concentration = new Concentration { ConcentrationName = request.Concentration },
                AcademicId = (int)request.AcademicId,
                UserIdOrName = session.UserName
            };
            var response = await Task.Factory.StartNew(() => Client.UserService.upsertAcademic(serviceRequest, session.GetSession())).ConfigureAwait(false);

            var result = new StatusData<string> { Status = (SystemDbStatus)response.DbStatus.DbStatusCode, Message = response.DbStatus.DbStatusMsg, SubStatus = response.DbStatus.DbSubStatusCode };

            return result;
        }
 public IAsyncResult send_upsertAcademic(AsyncCallback callback, object state, UserAcademics userAcademic, Session session)
      public UserAcademicResponse upsertAcademic(UserAcademics userAcademic, Session session)
      {
        #if !SILVERLIGHT
        send_upsertAcademic(userAcademic, session);
        return recv_upsertAcademic();

        #else
        var asyncResult = Begin_upsertAcademic(null, null, userAcademic, session);
        return End_upsertAcademic(asyncResult);

        #endif
      }
 public IAsyncResult Begin_upsertAcademic(AsyncCallback callback, object state, UserAcademics userAcademic, Session session)
 {
   return send_upsertAcademic(callback, state, userAcademic, session);
 }
 public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 1:
         if (field.Type == TType.Struct) {
           UserAcademic = new UserAcademics();
           UserAcademic.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 2:
         if (field.Type == TType.Struct) {
           Session = new Session();
           Session.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }
 public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 0:
         if (field.Type == TType.List) {
           {
             Success = new List<UserAcademics>();
             TList _list208 = iprot.ReadListBegin();
             for( int _i209 = 0; _i209 < _list208.Count; ++_i209)
             {
               UserAcademics _elem210;
               _elem210 = new UserAcademics();
               _elem210.Read(iprot);
               Success.Add(_elem210);
             }
             iprot.ReadListEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 1:
         if (field.Type == TType.Struct) {
           Ex = new UserException();
           Ex.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 2:
         if (field.Type == TType.Struct) {
           Se = new SessionException();
           Se.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }