Пример #1
0
        public IActionResult AddItem(ItemViewModel itemViewModel)
        {
            var result = new BaseResultViewModel();

            if (ModelState.IsValid)
            {
                var model = new ItemModel
                {
                    ItemId      = itemViewModel.ItemId ?? 0,
                    Cost        = itemViewModel.Cost,
                    Description = itemViewModel.Description,
                    ItemName    = itemViewModel.ItemName
                };

                var itemResult = _itemService.SaveItem(model);
                result.Success = itemResult.Success;
                result.Message = itemResult.Message;
            }
            else
            {
                result.Message = "Invalid data.";
            }

            return(View("_SharedResult", result));
        }
Пример #2
0
        public BaseResultViewModel <BaseTaskResultViewModel> Delete(Guid taskId)
        {
            var _taskModel     = _taskRepository.GetById(taskId);
            var resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>();

            if (_taskModel != null)
            {
                _taskRepository.DeleteTask(_taskModel);
                _taskRepository.Commit();

                //Response Result
                resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>()
                {
                    Success = true,
                    Code    = 200,
                    Result  = new BaseTaskResultViewModel()
                    {
                        Id = _taskModel.Id
                    }
                };
                return(resultResponse);
            }

            //Response Result
            resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>()
            {
                Success = true,
                Code    = 400,
                Result  = null
            };

            return(resultResponse);
        }
Пример #3
0
        public BaseResultViewModel <BaseTaskResultViewModel> Create(TaskViewModel model)
        {
            var taskModel      = _mapper.Map <TaskViewModel, Task>(model);
            var resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>();

            if (taskModel != null)
            {
                _taskRepository.CreateTask(taskModel);
                _taskRepository.Commit();
                //Response Result
                resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>()
                {
                    Success = true,
                    Code    = 201,
                    Result  = new BaseTaskResultViewModel()
                    {
                        Id = taskModel.Id
                    }
                };
                return(resultResponse);
            }

            //Response Result
            resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>()
            {
                Success = true,
                Code    = 400,
                Result  = null
            };

            return(resultResponse);
        }
Пример #4
0
        public BaseResultViewModel <string> ChangeRequestStatus(int RequestId, bool IsApproved, string user)
        {
            BaseResultViewModel <string> result = new BaseResultViewModel <string>
            {
                IsSuccess = false,
                Message   = "",
                Extra     = user
            };

            var data = this.UpdateRequestStatus(RequestId, IsApproved, user);

            if (IsApproved && data)
            {
                result.Message   = "Approved notification has sent";
                result.IsSuccess = true;
            }
            else if (!IsApproved && data)
            {
                result.Message   = "Decline notification has sent";
                result.IsSuccess = true;
            }
            else
            {
                result.Message = "Failed: an error occured";
            }

            return(result);
        }
Пример #5
0
        //public BaseResultViewModel<int> StartUsingIsolator(int isolatorId, string user)
        //{
        //    BaseResultViewModel<int> result = new BaseResultViewModel<int>
        //    {
        //        IsSuccess = false,
        //        Message = "",
        //        Extra = 0
        //    };

        //    var IsolatorIsUsed = _isolatorService.IsolatorUsed(isolatorId);
        //    if (IsolatorIsUsed)
        //    {
        //        result.Message = "Failed, Isolator has been used by other users";
        //        return result;
        //    }
        //    var getUsedIsolatorId = _shiftService.GetIsolatorStaffShifts().Where(p => !p.IsArchived && p.CreatedUser.ToString().Equals(user, StringComparison.CurrentCultureIgnoreCase));
        //    if (getUsedIsolatorId.Count() > 0)
        //    {
        //        result.Message = "Failed, Please logout of any other isolators.";
        //        return result;
        //    }

        //    try
        //    {
        //        //TODO: Riyaz Initialising shift if not exists
        //        var firstAvailableShift = _shiftService.GetShifts().FirstOrDefault() ?? new IsolatorShift() { StartTime = "08:00", EndTime = "13:00" };

        //        var isolatorStaffShift = new IsolatorStaffAllocation()
        //        {
        //            IsolatorId = isolatorId,
        //            CreatedUser = user,
        //            CreatedDate = DateTime.Now,
        //            IsArchived = false,
        //            IsolatorShift = firstAvailableShift
        //        };

        //        result.Extra = _shiftService.CreateIsolatorStaffShift(isolatorStaffShift);
        //        result.IsSuccess = result.Extra > 0;
        //        if(result.IsSuccess)
        //            result.Message = "Success, Start using Isolator";
        //        else
        //            result.Message = "Failed using Isolator";
        //    }
        //    catch (Exception ex)
        //    {
        //        result.Message = ex.Message;
        //    }

        //    return result;
        //}

        //public BaseResultViewModel<string> StopUsingIsolator(int isolatorId, int isolatorStaffShiftId, string user)
        //{
        //    BaseResultViewModel<string> result = new BaseResultViewModel<string>
        //    {
        //        IsSuccess = false,
        //        Message = ""
        //    };

        //    var getIsolaorShift = _shiftService.GetIsolatorStaffShifts().Where(p => p.IsolatorId == isolatorId && p.IsolatorStaffAllocationId == isolatorStaffShiftId && p.CreatedUser.Equals(user));
        //    if (getIsolaorShift.Count() == 0)
        //    {
        //        result.Message = "Failed, You didn't use any Isolator";
        //        return result;
        //    }

        //    try
        //    {
        //        IsolatorStaffAllocation isolatorStaffShift = getIsolaorShift.FirstOrDefault();
        //        isolatorStaffShift.IsArchived = true;
        //        isolatorStaffShift.ArchivedUser = user;
        //        isolatorStaffShift.ArchivedDate = DateTime.Now;
        //        var data = _shiftService.UpdateIsolatorStaffShift(isolatorStaffShift);
        //        result.IsSuccess = string.IsNullOrEmpty(data);
        //        if(result.IsSuccess)
        //            result.Message = "Success, Stop using Isolator";
        //        else
        //            result.Message = "Failed, Stop using Isolator";

        //    }
        //    catch (Exception ex)
        //    {
        //        result.Message = ex.Message;
        //    }

        //    return result;
        //}

        public BaseResultViewModel <string> CreateRequest(SupervisorRequestViewModel supervisorRequest, string user)
        {
            BaseResultViewModel <string> result = new BaseResultViewModel <string>
            {
                IsSuccess = false,
                Message   = ""
            };

            try
            {
                var model = Mapper.Map <SupervisorRequestViewModel, SupervisorRequest>(supervisorRequest);
                model.RequestedBy         = user;
                model.LatestRequestStatus = RequestStatusEnum.Awaiting;

                if (model.Id > 0)
                {
                    model.SetUpdateDetails(user);
                    _repository.SaveExisting(model);
                }
                else
                {
                    model.SetCreateDetails(user);
                    _repository.SaveNew(model);
                }

                result.IsSuccess = true;
                result.Message   = "Success: Request has sent";
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #6
0
        public BaseResultViewModel <string> ApproveOrder(int OrderId, string user, int location)
        {
            var result = new BaseResultViewModel <string>
            {
                IsSuccess = false,
                Message   = "",
                Extra     = null
            };

            try
            {
                var getStatusProgress = _repository.GetAll <IntegrationOrderProgress>().Where(p => !p.IsArchived && p.Name.Contains("Approve", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                if (getStatusProgress != null)
                {
                    var findOrder = _repository.GetById <IntegrationOrder>(OrderId);
                    findOrder.OrderLastProgressId = getStatusProgress.Id;
                    _repository.SaveExisting(findOrder);

                    //Save to tracker
                    var tracker = new IntegrationOrderTracking
                    {
                        IntegrationOrderId     = findOrder.Id,
                        OrderCurrentLocationId = location,
                        OrderLastProgressId    = findOrder.OrderLastProgressId
                    };
                    tracker.SetCreateDetails(user);
                    var saveTracking = _repository.SaveNew(tracker);

                    result.IsSuccess = true;
                    result.Message   = "Success: Order approved";
                }
                else
                {
                    result.Message = "No Approve Order status describe on database, please check database";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #7
0
        public BaseResultViewModel <BaseTaskResultViewModel> Update(TaskViewModel model)
        {
            var _taskModel     = _taskRepository.GetById(model.Id);
            var resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>();

            if (_taskModel != null)
            {
                _taskModel.Name           = model.Name;
                _taskModel.Description    = model.Description;
                _taskModel.StartDateAt    = model.StartDateAt;
                _taskModel.FinishedDateAt = model.FinishedDateAt;
                _taskModel.ThumbTask      = model.ThumbTask;
                _taskModel.EstimationTime = model.EstimationTime;
                _taskModel.Remark         = model.Remark;

                _taskRepository.UpdateTask(_taskModel);
                _taskRepository.Commit();

                //Response Result
                resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>()
                {
                    Success = true,
                    Code    = 200,
                    Result  = new BaseTaskResultViewModel()
                    {
                        Id = _taskModel.Id
                    }
                };
                return(resultResponse);
            }

            //Response Result
            resultResponse = new BaseResultViewModel <BaseTaskResultViewModel>()
            {
                Success = true,
                Code    = 400,
                Result  = null
            };

            return(resultResponse);
        }
Пример #8
0
        public BaseResultViewModel <TaskViewModel> GetTaskById(Guid id)
        {
            var task           = _taskRepository.GetById(id);
            var resultResponse = new BaseResultViewModel <TaskViewModel>();

            if (task != null)
            {
                var taskViewModelResult = _mapper.Map <Task, TaskViewModel>(task);
                resultResponse.Success = true;
                resultResponse.Code    = 200;
                resultResponse.Result  = taskViewModelResult;

                return(resultResponse);
            }

            resultResponse.Success = true;
            resultResponse.Code    = 404;
            resultResponse.Result  = null;

            return(resultResponse);
        }
Пример #9
0
        public BaseResultViewModel SavePatientDetail(PatientViewModel param)
        {
            var result = new BaseResultViewModel()
            {
                IsSuccess = false,
                Message   = ""
            };

            if (string.IsNullOrEmpty(param.Id))
            {
                //Add new
                var data = Mapper.Map <Patient>(param);
                data.CreatedDate = DateTime.Now;
                _repository.Add(data);

                result.IsSuccess = true;
                result.Message   = "Successfully add new Patient detail";
            }
            else
            {
                //update
                var patient = _repository.GetById(param.Id);
                if (patient != null)
                {
                    Mapper.Map(param, patient);
                    patient.ModifiedDate = DateTime.Now;
                    _repository.Update(patient);

                    result.IsSuccess = true;
                    result.Message   = "Successfully update Patient detail";
                }
                else
                {
                    result.Message = $"Patient with id: {param.Id} cannot be found";
                }
            }

            return(result);
        }
Пример #10
0
        protected void Application_Error(object sender, EventArgs e)
        {
            Exception lastError = base.Context.Server.GetLastError();

            if (lastError is HidistroAshxException)
            {
                HidistroAshxException ex = (HidistroAshxException)lastError;
                BaseResultViewModel   baseResultViewModel = new BaseResultViewModel
                {
                    success = false,
                    code    = -1,
                    message = ex.Message
                };
                if (string.IsNullOrWhiteSpace(baseResultViewModel.message))
                {
                    baseResultViewModel.message = "系统内部异常";
                }
                base.Response.ContentType = "text/plain";
                string s = JsonConvert.SerializeObject(baseResultViewModel);
                base.Response.Write(s);
                base.Server.ClearError();
            }
        }
Пример #11
0
        public BaseResultViewModel RemovePatient(string id)
        {
            var result = new BaseResultViewModel()
            {
                IsSuccess = false,
                Message   = ""
            };

            var patient = _repository.GetById(id);

            if (patient != null)
            {
                _repository.Delete(patient);
                result.IsSuccess = true;
                result.Message   = $"Successfully remove { patient.FirstName + " " + patient.LastName } data";
            }
            else
            {
                result.Message = "Remove failed";
            }

            return(result);
        }
Пример #12
0
        public BaseResultViewModel <string> SaveUpdateIntegrationOrder(IntegrationOrderViewModel integrationOrderViewModel, string user)
        {
            var result = new BaseResultViewModel <string>
            {
                IsSuccess = false,
                Message   = "",
                Extra     = null
            };

            try
            {
                if (integrationOrderViewModel.Id > 0)
                {       //Edit
                    var integrationOrder = _repository.GetById <IntegrationOrder>(integrationOrderViewModel.Id);

                    integrationOrder.Name = integrationOrderViewModel.Name; //DateTime.Now.ToString("ddmmyyyy hh:mm:ss");
                    integrationOrder.IntegratedSystemId  = integrationOrderViewModel.IntegratedSystemId;
                    integrationOrder.AdministeredDate    = integrationOrderViewModel.AdministeredDate;
                    integrationOrder.AllocatedIsolatorId = integrationOrderViewModel.AlocatedIsolatorId;
                    integrationOrder.BookedInDate        = integrationOrderViewModel.BookedInDate;
                    integrationOrder.ExternalBarcode     = integrationOrderViewModel.ExternalBarcode;
                    integrationOrder.ExternalOrderId     = integrationOrderViewModel.ExternalOrderId;
                    integrationOrder.OrderLastProgressId = (int)OrderProgressEnum.Scheduled;
                    integrationOrder.RequiredDate        = integrationOrderViewModel.RequiredDate;
                    integrationOrder.ScheduledDate       = integrationOrderViewModel.ScheduledDate;

                    _repository.SaveExisting <IntegrationOrder>(integrationOrder, user);
                }
                else
                {
                    var integrationOrder = new IntegrationOrder
                    {
                        Name                = integrationOrderViewModel.Name,
                        IsArchived          = false,
                        IntegratedSystemId  = integrationOrderViewModel.IntegratedSystemId,
                        AdministeredDate    = integrationOrderViewModel.AdministeredDate,
                        AllocatedIsolatorId = integrationOrderViewModel.AlocatedIsolatorId,
                        BookedInDate        = integrationOrderViewModel.BookedInDate,
                        ExternalBarcode     = integrationOrderViewModel.ExternalBarcode,
                        ExternalOrderId     = integrationOrderViewModel.ExternalOrderId,
                        OrderLastProgressId = (int)OrderProgressEnum.Scheduled,
                        RequiredDate        = integrationOrderViewModel.RequiredDate,
                        ScheduledDate       = integrationOrderViewModel.ScheduledDate
                    };
                    //Mapper.Map<IntegrationOrderViewModel, IntegrationOrder>(integrationOrderViewModel);
                    integrationOrder.SetCreateDetails(user);
                    if (integrationOrder.Id == 0)
                    {
                        //integrationOrder.OrderLastProgressId = (int) OrderStatusEnum.New;
                        var saveNew = _repository.SaveNew(integrationOrder, user);
                        result.IsSuccess = true;
                        result.Message   = "Success: Create new Integration Order";
                        return(result);
                    }

                    //integrationOrder.OrderLastProgressId = (int)OrderStatusEnum.Pending;
                    _repository.SaveExisting <IntegrationOrder>(integrationOrder, user);
                    result.IsSuccess = true;
                    result.Message   = "Success: Update Integration Order.";
                }
                return(result);
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #13
0
        public BaseResultViewModel <string> SaveActionDelineClassify(IntegrationOrderCommentViewModel param, string user, int location)
        {
            var result = new BaseResultViewModel <string>
            {
                IsSuccess = false,
                Message   = "",
                Extra     = null
            };

            try
            {
                //0 = Decline Order, 1 = Classify Order
                if (param.State == 0)
                {
                    var getStatusProgress = _repository.GetAll <IntegrationOrderProgress>().Where(p => !p.IsArchived && p.Name.Contains("Decline", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if (getStatusProgress != null)
                    {
                        var findOrder = _repository.GetById <IntegrationOrder>(param.OrderId);
                        findOrder.OrderLastProgressId = getStatusProgress.Id;
                        _repository.SaveExisting(findOrder);

                        //Save to tracker
                        var tracker = new IntegrationOrderTracking
                        {
                            IntegrationOrderId     = findOrder.Id,
                            OrderCurrentLocationId = location,
                            OrderLastProgressId    = findOrder.OrderLastProgressId,
                            Comment = param.Comment
                        };
                        tracker.SetCreateDetails(user);
                        var saveTracking = _repository.SaveNew(tracker);

                        result.IsSuccess = true;
                        result.Message   = "Order Declined";
                        return(result);
                    }
                    else
                    {
                        result.Message = "No Declined status describe on database, please check database";
                        return(result);
                    }
                }
                else if (param.State == 1)
                {
                    var getStatusProgress = _repository.GetAll <IntegrationOrderProgress>().Where(p => !p.IsArchived && p.Name.Contains("Classify", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if (getStatusProgress != null)
                    {
                        var findOrder = _repository.GetById <IntegrationOrder>(param.OrderId);
                        findOrder.OrderLastProgressId       = getStatusProgress.Id;
                        findOrder.OrderlastClassificationId = param.Classification;
                        _repository.SaveExisting(findOrder);

                        //Save to tracker
                        var tracker = new IntegrationOrderTracking
                        {
                            IntegrationOrderId        = findOrder.Id,
                            OrderCurrentLocationId    = location,
                            OrderLastProgressId       = findOrder.OrderLastProgressId,
                            OrderLastClassificationId = findOrder.OrderlastClassificationId,
                            Comment = param.Comment
                        };
                        tracker.SetCreateDetails(user);
                        var saveTracking = _repository.SaveNew(tracker);

                        result.IsSuccess = true;
                        result.Message   = "Order Declined";
                        return(result);
                    }
                    else
                    {
                        result.Message = "No Classify Order status describe on database, please check database";
                        return(result);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Extra = ex.Message;
            }

            return(result);
        }
Пример #14
0
        public BaseResultViewModel <string> CallSupervisor(CallSupervisorViewModel param, string user, int location)
        {
            var result = new BaseResultViewModel <string>
            {
                IsSuccess = false,
                Message   = "",
                Extra     = null
            };

            try
            {
                var getStatusProgress = _repository.GetAll <IntegrationOrderProgress>().Where(p => !p.IsArchived && p.Name.Contains("Supervisor", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                if (getStatusProgress != null)
                {
                    //SupervisorRequest
                    var request = new SupervisorRequest()
                    {
                        Title               = param.SupervisorRequest.Title,
                        IsArchived          = false,
                        IsolatorId          = param.SupervisorRequest.IsolatorId,
                        LatestRequestStatus = RequestStatusEnum.Awaiting,
                        Priority            = param.SupervisorRequest.Priority,
                        CurrentOrderId      = param.IntegrationOrderComment.OrderId,
                        TypeId              = param.SupervisorRequest.TypeId,
                        RequestedBy         = user
                    };
                    request.SetCreateDetails(user);
                    _repository.SaveNew <SupervisorRequest>(request);

                    //Update progress status of IntegrationOrder
                    var findOrder = _repository.GetById <IntegrationOrder>(param.IntegrationOrderComment.OrderId);
                    findOrder.OrderLastProgressId = getStatusProgress.Id;
                    _repository.SaveExisting(findOrder);

                    //Save to tracker
                    var tracker = new IntegrationOrderTracking
                    {
                        IntegrationOrderId     = findOrder.Id,
                        OrderCurrentLocationId = location,
                        OrderLastProgressId    = findOrder.OrderLastProgressId,
                        Comment = param.IntegrationOrderComment.Comment
                    };
                    tracker.SetCreateDetails(user);
                    var saveTracking = _repository.SaveNew(tracker);

                    result.IsSuccess = true;
                    result.Message   = "Success: Call Supervisor";
                    return(result);
                }
                else
                {
                    result.Message = "No Call Supervisor status describe on database, please check database";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.Extra = ex.Message;
            }

            return(result);
        }
Пример #15
0
        public IActionResult Index(int id, string view, int patientId, int invoiceId
                                   , int page, string firstName, string lastName, string invoiceFromDate, string invoiceToDate)
        {
            var userContext = _userHandler.GetUserContext();

            if (view == "InvoiceForm")
            {
                if (id == 0)
                {
                    ViewData["Title"]    = $"New Invoice";
                    ViewData["FormType"] = $"New Invoice";

                    var patient = _patientService.SearchPatientModelAsync(patientId);
                    if (patient != null)
                    {
                        var patients = _patientService.SearchPatientsAsync(patient.FamilyId);

                        ViewBag.ListofPatient = patients.Select(p => new ListItemModel
                        {
                            Id   = p.PatientId,
                            Name = $"{p.FirstName} {p.LastName}"
                        }).ToList();

                        var doctors = _doctorService.SearchDoctorsAsync(userContext.ClinicId);

                        ViewBag.ListofDoctor = doctors.Select(p => new ListItemModel
                        {
                            Id   = p.DoctorId,
                            Name = $"{p.FirstName} {p.LastName}"
                        }).ToList();

                        var data = new InvoiceViewModel
                        {
                            FamilyId    = patient.FamilyId,
                            PatientId   = patient.PatientId,
                            DoctorId    = patient.DoctorId,
                            InvoiceDate = DateTime.Now,
                            PatientName = $"{patient.FirstName} {patient.LastName}",
                            Patients    = patients.Select(p => (PatientViewModel)p).ToList()
                        };
                        return(View(view, data));
                    }
                    else
                    {
                        var result = new BaseResultViewModel();
                        result.Message = "Patient not found. ";

                        return(View("_SharedResult", result));
                    }
                }
                else
                {
                    ViewData["Title"]    = $"Edit Invoice";
                    ViewData["FormType"] = $"Edit Invoice";

                    return(View(view));
                }
            }
            else if (view == "InvoiceDetail")
            {
                ViewData["Title"] = $"Invoice Detail";

                var data = _invoiceService.SearchInvoice(invoiceId);
                if (data != null)
                {
                    var viewData = (InvoiceViewModel)data;

                    return(View(view, viewData));
                }
                else
                {
                    var result = new BaseResultViewModel();
                    result.Message = "Invoice not found. ";

                    return(View("_SharedResult", result));
                }
            }
            else if (view == "Index")
            {
                ViewData["Title"] = $"Search Invoice";

                var invoiceRequestViewModel = new InvoiceRequestViewModel();

                if (page > 0)
                {
                    invoiceRequestViewModel = new InvoiceRequestViewModel()
                    {
                        CurrentPage     = page,
                        FirstName       = firstName,
                        LastName        = lastName,
                        InvoiceFromDate = invoiceFromDate,
                        InvoiceToDate   = invoiceToDate
                    };
                    if (invoiceId > 0)
                    {
                        invoiceRequestViewModel.DisplayId = invoiceId;
                    }

                    invoiceRequestViewModel = GetInvoiceRequestViewModel(invoiceRequestViewModel);
                    SetInvoiceFilter(invoiceRequestViewModel);
                }

                return(View(view, invoiceRequestViewModel));
            }

            return(View(view));
        }