public UpdateInfoDto GetUpdate(OrderCoffeDto order)
        {
            if (random.Next(1, 5) != 4)
            {
                return(new UpdateInfoDto {
                    IsNew = false
                });
            }

            var index = GetNextStatusIndex(order.OrderCoffeeId);

            if (Status.Length <= index)
            {
                return(new UpdateInfoDto {
                    IsNew = false
                });
            }

            var result = new UpdateInfoDto
            {
                OrderCoffeeId = order.OrderCoffeeId,
                IsNew         = true,
                Update        = Status[index],
                IsFinished    = (Status.Length - 1 == index)
            };

            return(result);
        }
        public virtual UpdateInfoDto Get(UpdateInfoType type)
        {
            UpdateInfoDto vm    = null;
            var           list  = GetList();
            var           query = from q in list
                                  where q.Type == type
                                  select q;

            vm = query.FirstOrDefault();

            return(vm);
        }
        public virtual int AddOrUpdate(UpdateInfoDto vm)
        {
            int count = 0;

            if (vm != null)
            {
                using (var db = this.CreateDbContext())
                {
                    db.Configuration.AutoDetectChangesEnabled = true;
                    using (db.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        var m = db.UpdateInfo.Where(q => q.Type == vm.Type).FirstOrDefault();
                        if (m == null)
                        {
                            m = new UpdateInfo();
                        }
                        m.Type       = vm.Type;
                        m.Version    = vm.Version;
                        m.FilePath   = vm.FilePath;
                        m.UpdateTime = DateTime.Now;
                        if (m.Id == 0)
                        {
                            db.UpdateInfo.Add(m);
                        }
                        db.AddCommitCallback(() =>
                        {
                            var updateInfoCache = this.GetCache <IUpdateInfoCache>();
                            updateInfoCache.Remove();
                        });
                        count += db.SaveChanges();
                        db.Commit();
                        vm.Id         = m.Id;
                        vm.UpdateTime = m.UpdateTime;
                    }
                }
            }

            return(count);
        }
Exemple #4
0
        public async Task <string> UpdateInfo(UpdateInfoDto input)
        {
            long userId = _abpSession.UserId.Value;
            var  user   = await _userManager.GetUserByIdAsync(userId);

            KhachHang khachhang           = null;
            bool      NeedInsertKhachHang = false;

            if (user.IsCustomer)
            {
                khachhang = await _khachHangRepository.FirstOrDefaultAsync(w => w.UserId == user.Id);

                if (khachhang == null)
                {
                    NeedInsertKhachHang = true;

                    khachhang = new KhachHang
                    {
                        PhoneNumber  = user.PhoneNumber,
                        EmailAddress = user.EmailAddress,
                        UserId       = user.Id
                    };
                }
            }

            if (!string.IsNullOrWhiteSpace(input.ProfilePicture))
            {
                user.ProfilePicture = Convert.FromBase64String(input.ProfilePicture);
            }

            if (!string.IsNullOrWhiteSpace(input.Name))
            {
                user.Name = input.Name;

                if (khachhang != null)
                {
                    khachhang.Name = input.Name;
                }
            }
            if (!string.IsNullOrWhiteSpace(input.PhoneNumber))
            {
                // Chỉ cho phép cập nhật số điện thoại cho nhân viên
                if (!user.IsCustomer)
                {
                    user.PhoneNumber = input.PhoneNumber;
                }
            }
            if (!string.IsNullOrWhiteSpace(input.EmailAddress))
            {
                user.EmailAddress = input.EmailAddress;

                if (khachhang != null)
                {
                    khachhang.EmailAddress = input.EmailAddress;
                }
            }
            if (input.Birthday.HasValue)
            {
                user.Birthday = input.Birthday;

                if (khachhang != null)
                {
                    khachhang.Birthday = input.Birthday;
                }
            }
            if (!string.IsNullOrWhiteSpace(input.Description))
            {
                user.Description = input.Description;

                if (khachhang != null)
                {
                    khachhang.Description = input.Description;
                }
            }

            if (khachhang != null)
            {
                if (!string.IsNullOrWhiteSpace(input.Address))
                {
                    khachhang.Address = input.Address;
                }
                if (input.DistrictId > 0)
                {
                    khachhang.DistrictId = input.DistrictId;
                }
                if (input.ProvinceId > 0)
                {
                    khachhang.ProvinceId = input.ProvinceId;
                }
            }

            if (NeedInsertKhachHang)
            {
                try
                {
                    await _khachHangRepository.InsertAsync(khachhang);
                }
                catch (Exception ex)
                {
                    Logger.Error("Không tạo được bản ghi khách hàng", ex);

                    throw new UserFriendlyException("Không tạo được bản ghi khách hàng", ex.Message);
                }
            }
            CurrentUnitOfWork.SaveChanges();

            return(await Task.FromResult <string>("OK"));
        }
Exemple #5
0
 public IActionResult Post(UpdateInfoDto command)
 {
     throw new NotImplementedException();
 }