public override async Task <CongViecDto> Create(CreateCongViecDto input) { input.TrangThaiId = 0; // Ghép chuỗi để có địa chỉ đầy đủ string Address = input.DiaChi; string QuanHuyenName = await _globalCache.GetQuanHuyenName(input.DiaChiTinhThanhId, input.DiaChiQuanHuyenId); Address += string.IsNullOrWhiteSpace(QuanHuyenName) ? "" : ", " + QuanHuyenName; string TinhThanhName = await _globalCache.GetTinhThanhName(input.DiaChiTinhThanhId); Address += string.IsNullOrWhiteSpace(TinhThanhName) ? "" : ", " + TinhThanhName; Address += ", Việt Nam"; input.Location = await GlobalFunction.GetLongLatFromAddress(_globalCache.GetGoogleApiKey(), Address); // Nghiên cứu viết lại var CongViec = ObjectMapper.Map <CongViec>(input); CongViec.TrangThaiId = 0; CongViec.TimeId = string.Format("{0:yyyyMM}", CongViec.CreationTime); await _congViecRepository.InsertAsync(CongViec); return(ObjectMapper.Map <CongViecDto>(CongViec)); //return await base.Create(input); }
public async Task Create(CreateKhachHangDto input) { var user = await _userRegistrationManager.RegisterAsync( input.PhoneNumber, input.EmailAddress, "", input.Password, true, // Not active by default true ); // Ghép chuỗi để có địa chỉ đầy đủ string Address = input.Address; string QuanHuyenName = await _globalCache.GetQuanHuyenName(input.ProvinceId, input.DistrictId); Address += string.IsNullOrWhiteSpace(QuanHuyenName) ? "" : ", " + QuanHuyenName; string TinhThanhName = await _globalCache.GetTinhThanhName(input.ProvinceId); Address += string.IsNullOrWhiteSpace(TinhThanhName) ? "" : ", " + TinhThanhName; Address += ", Việt Nam"; // Kiểm tra bên bảng KhachHang, nếu có bản ghi trùng SĐT mà chưa kết nối vào tài khoản nào thì tiến hành kết nối KhachHang newKhachHang = await _khachHangRepository.FirstOrDefaultAsync(w => w.PhoneNumber == input.PhoneNumber && w.UserId == null); if (newKhachHang == null) { newKhachHang = new KhachHang { Name = input.Name, Address = input.Address, ProvinceId = input.ProvinceId, DistrictId = input.DistrictId, Location = await GlobalFunction.GetLongLatFromAddress(_globalCache.GetGoogleApiKey(), Address), PhoneNumber = input.PhoneNumber, EmailAddress = input.EmailAddress, UserId = user.Id }; await _khachHangRepository.InsertAsync(newKhachHang); } else { newKhachHang.Name = input.Name; newKhachHang.Address = input.Address; newKhachHang.ProvinceId = input.ProvinceId; newKhachHang.DistrictId = input.DistrictId; newKhachHang.Location = await GlobalFunction.GetLongLatFromAddress(_globalCache.GetGoogleApiKey(), Address); newKhachHang.PhoneNumber = input.PhoneNumber; newKhachHang.EmailAddress = input.EmailAddress; newKhachHang.UserId = user.Id; } //return ObjectMapper.Map<KhachHangDto>(newKhachHang); }
public async Task CreateThongTinHeThong(ThongTinHeThongDto input) { input.Location = await GlobalFunction.GetLongLatFromAddress(_globalCache.GetGoogleApiKey(), input.DiaChi); var ThongTinHeThong = await _tinTucRepository.FirstOrDefaultAsync(w => w.Type == (int)GlobalConst.LoaiTinTuc.ThongTinHeThong); if (ThongTinHeThong != null) { ThongTinHeThong.Content = JsonConvert.SerializeObject(input); } else { await _tinTucRepository.InsertAsync(new TinTuc { Name = "Thông tin hệ thống", Description = "Thông tin hệ thống", Content = JsonConvert.SerializeObject(input), Type = (int)GlobalConst.LoaiTinTuc.ThongTinHeThong, IsActive = true, }); } }
public async Task <string> Create(CreateYeuCauDto input) { var UserCache = await _globalCache.GetUserCache((long)AbpSession.UserId); if (UserCache.Id == 0 || !UserCache.IsCustomer) { throw new UserFriendlyException(L("UserIsNotCustomer")); } // Ghép chuỗi để có địa chỉ đầy đủ string Address = input.DiaChi; string QuanHuyenName = await _globalCache.GetQuanHuyenName(input.DiaChiTinhThanhId, input.DiaChiQuanHuyenId); Address += string.IsNullOrWhiteSpace(QuanHuyenName) ? "" : ", " + QuanHuyenName; string TinhThanhName = await _globalCache.GetTinhThanhName(input.DiaChiTinhThanhId); Address += string.IsNullOrWhiteSpace(TinhThanhName) ? "" : ", " + TinhThanhName; Address += ", Việt Nam"; var CongViec = ObjectMapper.Map <CongViec>(input); CongViec.KhachHangId = UserCache.CustomerId; CongViec.KhachHangName = UserCache.Name; CongViec.Location = await GlobalFunction.GetLongLatFromAddress(_globalCache.GetGoogleApiKey(), Address); CongViec.TrangThaiId = 0; CongViec.NgayYeuCau = DateTime.Now; CongViec.TimeId = string.Format("{0:yyyyMM}", CongViec.NgayYeuCau); // Tự động phân bổ công việc về Trạm var CongViecTheoTram = _congViecRepository.GetAll().Where(w => w.TramDichVuId > 0 && (w.TrangThaiId == (int)GlobalConst.TrangThaiCongViec.ChoPhanBo || w.TrangThaiId == (int)GlobalConst.TrangThaiCongViec.DaPhanBo || w.TrangThaiId == (int)GlobalConst.TrangThaiCongViec.DaNhan || w.TrangThaiId == (int)GlobalConst.TrangThaiCongViec.DangXuLy || w.TrangThaiId == (int)GlobalConst.TrangThaiCongViec.ChoLinhKien) ).GroupBy(g => g.TramDichVuId) .Select(s => new { TramDichVuId = s.Key, SoCongViec = s.Count() }); var query = from TramDichVu in _tramDichVuRepository.GetAll().Where(w => w.DiaChiTinhThanhId == input.DiaChiTinhThanhId || w.DiaChiQuanHuyenId == input.DiaChiQuanHuyenId) join CongViecTungTram in CongViecTheoTram on TramDichVu.Id equals CongViecTungTram.TramDichVuId into J1 from CongViecTungTram in J1.DefaultIfEmpty() select new { TramDichVu.Id, TramDichVu.DiaChiTinhThanhId, TramDichVu.DiaChiQuanHuyenId, SoCongViec = CongViecTungTram != null ? CongViecTungTram.SoCongViec : 0 }; var Trams = await query.ToListAsync(); if (Trams.Count > 0) { var TramPhanBo = Trams.Where(w => w.DiaChiQuanHuyenId == input.DiaChiQuanHuyenId).OrderBy(o => o.SoCongViec).FirstOrDefault(); if (TramPhanBo == null) { TramPhanBo = Trams.Where(w => w.DiaChiTinhThanhId == input.DiaChiTinhThanhId).OrderBy(o => o.SoCongViec).FirstOrDefault(); } if (TramPhanBo != null) { CongViec.TramDichVuId = TramPhanBo.Id; } } await _congViecRepository.InsertAsync(CongViec); return("OK"); }