예제 #1
0
        public async Task <IHttpActionResult> Post(InteractionHistoryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var stf = await _interactionHistoryService.InsertAsync(model, GetCurrentUserID());

                _unitOfWorkAsync.Commit();
                var resultObject = new InteractionHistoryViewModel()
                {
                    Type      = stf.Type,
                    Note      = stf.Note,
                    EventCode = stf.Event.Code,
                    CreatDate = stf.CreatDate,
                    ID        = stf.Id,
                };
                return(Created(resultObject));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public IEnumerable <InteractionHistoryViewModel> GetInteractionHistoryByCustomer(SearchViewModel model)
        {
            var findCus = _customerService.Queryable().Where(x => x.PhoneNumber == model.PhoneNumber && x.Delete == false).FirstOrDefault();

            if (findCus != null)
            {
                var result = new List <InteractionHistoryViewModel>();
                //result1.CustomerName = findCus.Name;
                //result1.CustomerPhone = findCus.PhoneNumber;
                var listEvent = _eventService.Queryable().Include(x => x.DetailEvents).Include(x => x.InteractionHistories).Include(x => x.ReminderNotes).Where(x => x.Customer.Id == findCus.Id).ToList();
                if (listEvent.Count > 0)
                {
                    foreach (var item in listEvent)
                    {
                        var history = Queryable().Where(x => x.Event.Id == item.Id).ToList();
                        if (history != null)
                        {
                            foreach (var itemHistory in history)
                            {
                                var Object1 = new InteractionHistoryViewModel();
                                Object1.Type         = itemHistory.Type;
                                Object1.ID           = itemHistory.Id;
                                Object1.Note         = item.Note;
                                Object1.CreatDate    = itemHistory.CreatDate;
                                Object1.EmployeeCall = itemHistory.EmployeeCall;
                                Object1.EmployeeID   = itemHistory.EmployeeID;
                                Object1.EventCode    = item.Code;
                                Object1.Status       = item.Status;
                                Object1.EventNote    = item.Note;
                                Object1.Note         = itemHistory.Note;
                                Object1.EventPurpose = _eventPurposeService.Queryable()
                                                       .Where(t => t.Delete == false && t.Id == item.EventPurposeId).FirstOrDefault().Name;
                                Object1.EventType = _eventTypeService.Queryable()
                                                    .Where(t => t.Delete == false && t.Id == item.EventTypeId).FirstOrDefault().Name;
                                if (item.DetailEvents.Count > 0)
                                {
                                    Object1.Serial          = item.DetailEvents.FirstOrDefault().Serial;
                                    Object1.DetailEventNote = item.DetailEvents.FirstOrDefault().Note;
                                }
                                result.Add(Object1);
                            }
                        }
                    }
                    foreach (var item in result.ToList())
                    {
                    }
                }
                else
                {
                    throw new Exception("Không tìm thấy lịch sử tương tác");
                }

                return(result);
            }
            else
            {
                throw new Exception("Không tìm thấy khách hàng");
            }
        }
예제 #3
0
        public bool Update(InteractionHistoryViewModel model)
        {
            var data = Find(model.ID);

            if (data != null)
            {
                data.Note             = model.Note;
                data.LastModifiedDate = DateTime.Now;
            }
            return(true);
        }
예제 #4
0
        public async Task <InteractionHistoryViewModel> UpdateAsync(InteractionHistoryViewModel model)
        {
            try
            {
                await Task.Run(() => Update(model));

                return(model);
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
예제 #5
0
        public InteractionHistory Insert(InteractionHistoryViewModel model, string CurrentId)
        {
            var data = new InteractionHistory();

            data.Note             = model.Note;
            data.Event            = _eventService.Find(model.EventID);
            data.CreatDate        = DateTime.Now;
            data.Delete           = false;
            data.LastModifiedDate = DateTime.Now;
            data.UserAccount      = _userRepository.Find(CurrentId);
            //data.UserAccount = _userRepository.Find(HttpContext.Current.User.Identity.GetUserId());
            base.Insert(data);
            return(data);
        }
예제 #6
0
        public async Task <IHttpActionResult> Put(Guid key, InteractionHistoryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                await _interactionHistoryService.UpdateAsync(model);

                _unitOfWorkAsync.Commit();
                return(Updated(model));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #7
0
        public async Task <DetailEventViewModel> UpdateAsync(DetailEventViewModel model, string CurrentId)
        {
            try
            {
                var interactionHistory = new InteractionHistoryViewModel()
                {
                    Type             = "",
                    Note             = "Nhân viên " + _userRepository.Find(CurrentId).UserName + " Cập nhập phiếu " + _eventService.Find(model.EventID).Code,
                    CreatDate        = DateTime.Now,
                    LastModifiedDate = DateTime.Now,
                    Delete           = false,
                    EventID          = model.EventID
                };
                await Task.Run(() => Update(model, CurrentId));

                await Task.Run(() => _interactionHistoryService.InsertAsync(interactionHistory, CurrentId));

                return(model);
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
예제 #8
0
 public async Task <InteractionHistory> InsertAsync(InteractionHistoryViewModel model, string CurrentId)
 {
     return(await Task.Run(() => Insert(model, CurrentId)));
 }