예제 #1
0
 /// <summary>
 /// 获取列表
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public ValidateResult <List <CrmEntity> > GetList(ShippingaddressListRequest request)
 {
     try
     {
         var       validateResult   = new ValidateResult <List <CrmEntity> >();
         var       crmRequestHelper = new CrmRequestHelper();
         XDocument fetchXdoc        = null;
         fetchXdoc = _shippingaddressRepository.QueryList(request);
         var entities = crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);
         if (entities.Result.Results.Count > 0)
         {
             validateResult.Result = true;
             validateResult.Data   = entities.Result.Results;
         }
         else
         {
             validateResult.Result = false;
         }
         return(validateResult);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #2
0
        public async Task <NewtonsoftJsonActionResult <ValidateResult <List <CrmEntity> > > > Delete(ShippingaddressAddRequest model)
        {
            ValidateResult <List <CrmEntity> > res = new ValidateResult <List <CrmEntity> >();
            ValidateResult valres = await _app.Delete(model);

            if (valres.Result)
            {
                ShippingaddressListRequest req = new ShippingaddressListRequest();
                req.mcs_userid = model.userid.Value;
                ValidateResult <List <CrmEntity> > crmres = _app.GetList(req);
                return(crmres);
            }
            res.Result      = false;
            res.Description = valres.Description;
            return(res);
        }
예제 #3
0
        public XDocument QueryList(ShippingaddressListRequest request)
        {
            var filter   = string.Empty;
            var fetchXml = $@"<fetch version='1.0' count='{request.PageSize}' page='{request.PageIndex}' output-format='xml-platform' mapping='logical' distinct='false'>
                    <entity name='mcs_shippingaddress'>
                    <all-attributes />
                    <order attribute='mcs_isdefault' descending='true' />
                    <filter type='and'>
                      <condition attribute='statecode' operator='eq' value='0' /> 
                      <condition attribute='mcs_userid' operator='eq' value='{request.mcs_userid}' />
                    </filter>
                  </entity>
                </fetch>";

            return(XDocument.Parse(fetchXml));
        }
예제 #4
0
 public ValidateResult <List <CrmEntity> > GetList(ShippingaddressListRequest request)
 {
     return(_shippingaddressService.GetList(request));
 }
예제 #5
0
        /// <summary>
        /// 新增修改
        /// </summary>
        /// <param name="model"></param>
        public async Task <ValidateResult> AddOrUpdate(ShippingaddressAddRequest model)
        {
            var validateResult = new ValidateResult();

            try
            {
                var  userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo);
                Guid id       = Guid.NewGuid();
                var  entity   = new CrmExecuteEntity(entityName, id);
                if (model.userid.HasValue)
                {
                    entity.Attributes.Add("mcs_userid", new CrmEntityReference("mcs_user", model.userid.Value));
                }
                if (model.mcs_area.HasValue)
                {
                    entity.Attributes.Add("mcs_area", new CrmEntityReference("mcs_sysarea", model.mcs_area.Value));
                }
                if (model.mcs_city.HasValue)
                {
                    entity.Attributes.Add("mcs_city", new CrmEntityReference("mcs_sysarea", model.mcs_city.Value));
                }
                if (model.mcs_province.HasValue)
                {
                    entity.Attributes.Add("mcs_province", new CrmEntityReference("mcs_sysarea", model.mcs_province.Value));
                }
                if (!string.IsNullOrEmpty(model.mcs_address))
                {
                    entity.Attributes.Add("mcs_address", model.mcs_address);
                }
                if (model.mcs_isdefault != null)
                {
                    entity.Attributes.Add("mcs_isdefault", model.mcs_isdefault.Value == 0 ? true : false);
                }
                if (!string.IsNullOrEmpty(model.mcs_phone))
                {
                    entity.Attributes.Add("mcs_phone", model.mcs_phone);
                }
                if (!string.IsNullOrEmpty(model.mcs_name))
                {
                    entity.Attributes.Add("mcs_name", model.mcs_name);
                }
                //如果当前收货地址设置为默认,当前用户其它地址初始化为不默认
                if (model.mcs_isdefault.Value == 0)
                {
                    ShippingaddressListRequest req = new ShippingaddressListRequest();
                    req.PageIndex  = 1;
                    req.PageSize   = 100;
                    req.mcs_userid = model.userid.Value;
                    ValidateResult <List <CrmEntity> > list = GetList(req);
                    if (list.Data != null)
                    {
                        foreach (var item in list.Data)
                        {
                            var entaddress = new CrmExecuteEntity(entityName, item.Id);
                            entaddress.Attributes.Add("mcs_isdefault", false);
                            await _crmService.Update(entaddress);
                        }
                    }
                }

                if (string.IsNullOrEmpty(model.mcs_shippingaddressid))
                {
                    await _crmService.Create(entity, userInfo?.systemuserid);
                }
                else
                {
                    entity.Id = Guid.Parse(model.mcs_shippingaddressid);
                    await _crmService.Update(entity);
                }

                #region 组装数据返回
                validateResult.Result      = true;
                validateResult.Description = "操作成功";
                #endregion
            }
            catch (Exception e)
            {
                validateResult.Result      = false;
                validateResult.Description = e.Message;
            }
            return(validateResult);
        }
예제 #6
0
 public NewtonsoftJsonActionResult <ValidateResult <List <CrmEntity> > > GetList(ShippingaddressListRequest req)
 {
     return(_app.GetList(req));
 }