Beispiel #1
0
        /// <summary>
        /// Add or update a addr model
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        public async Task <ViewResult <DeliveryAddrModel> > AddOrUpdate(DeliveryAddrModel model, string userName)
        {
            var result = new ViewResult <DeliveryAddrModel>();

            try
            {
                using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    DeliveryAddress deliveryAddr;
                    //new uom model
                    if (model.Id == 0)
                    {
                        deliveryAddr            = model.ToDeliveryAddrModel();
                        deliveryAddr.CreateTime = DateTime.UtcNow;
                        deliveryAddr.CreateBy   = userName;
                    }
                    else
                    {
                        var deliveryAddrTemp = await _deliveryAddrRepository.GetById(model.Id);

                        if (deliveryAddrTemp == null)
                        {
                            result.Status  = -3;
                            result.Message = "This address does not exist";
                            return(result);
                        }
                        deliveryAddr            = model.ToDeliveryAddrModel();
                        deliveryAddr.CreateTime = deliveryAddrTemp.CreateTime;
                        deliveryAddr.CreateBy   = deliveryAddrTemp.CreateBy;
                        deliveryAddr.EditTime   = DateTime.UtcNow;
                        deliveryAddr.EditBy     = userName;
                    }
                    await _deliveryAddrRepository.AddOrUpdate(deliveryAddr);

                    result.Data = deliveryAddr.ToDeliveryAddrModel();

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.Status  = -1;
                result.Message = ex.Message;
                Logger.WriteErrorLog("DeliveryAddrService", "AddOrUpdate", ex);
            }
            return(result);
        }
Beispiel #2
0
        public async Task <ViewResult <DeliveryAddrModel> > AddOrUpdate(DeliveryAddrModel model)
        {
            var userName = User.Identity.Name;

            return(await _deliveryAddrService.AddOrUpdate(model, userName));
        }