/// <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); }
public async Task <ViewResult <DeliveryAddrModel> > AddOrUpdate(DeliveryAddrModel model) { var userName = User.Identity.Name; return(await _deliveryAddrService.AddOrUpdate(model, userName)); }