/// <summary>
 /// Class Constructor
 /// </summary>
 /// <param name="view">isntance of the phone listing view</param>
 public PhoneListingViewModel(IPhoneListingView view)
 {
     _view = view;
     _employeeModel = new EmployeeModel();
     _customerModel = new CustomerModel();
     _divisionModel = new DivisionModel();
 }
 public FirstAlertPresenter(IFirstAlertView view)
 {
     _view = view;
     _model = new FirstAlertModel();
     _divisionModel = new DivisionModel();
     _jobModel = new JobModel();
     _viewModel = new FirstAlertViewModel(view);
 }
 /// <summary>
 /// Class Constructor
 /// </summary>
 /// <param name="view">Instance of the Process DPI View Interface</param>
 public RegionalMaintenanceViewModel(IRegionalMaintenanceView view)
 {
     _view = view;
     _regionModel = new RegionModel();
     _employeeModel = new EmployeeModel();
     _equipmentModel = new EquipmentModel();
     _divisionModel = new DivisionModel();
 }
 /// <summary>
 /// Class Constructor
 /// </summary>
 /// <param name="view">Instance of the CustomerInfo View Interface</param>
 public CustomerInfoPresenter(ICustomerInfoView view)
 {
     this._view = view;
     this._customerModel = new CustomerModel();
     this._divisionModel = new DivisionModel();
     this._employeeModel = new EmployeeModel();
     this._jobModel = new JobModel();
 }
 public MapPlottingPresenter(IMapPlottingView view)
 {
     _view = view;
     _divisionModel = new DivisionModel();
     _jobModel = new JobModel();
     _equipmentModel = new EquipmentModel();
     _regionModel = new RegionModel();
 }
 /// <summary>
 /// Class Constructor
 /// </summary>
 /// <param name="view">Instance of the Permit Info View Interface</param>
 public JobInfoPresenter(IJobInfoView view)
 {
     this._view = view;
     this._jobModel = new JobModel();
     this._divisionModel = new DivisionModel();
     this._customerModel = new CustomerModel();
     this._employeeModel = new EmployeeModel();
     _resourceAllocationModel = new ResourceAllocationModel();
 }
 public void TestListAllFilteredDivisionByName()
 {
     // Arrange
     DivisionModel model = new DivisionModel(new FakeUnitOfWork());
     // Act
     IList<CS_Division> result = model.ListAllFilteredDivisionByName("1");
     // Assert
     Assert.IsNotNull(result);
     Assert.AreEqual(result.Count, 1);
 }
        public ResourceAllocationViewModel(IResourceAllocationView view)
        {
            _view = view;

            _equipmentModel = new EquipmentModel();
            _divisionModel = new DivisionModel();
            _employeeModel = new EmployeeModel();
            _resourceAllocationModel = new ResourceAllocationModel();
            _locationModel = new LocationModel();
            _jobModel = new JobModel();
            _callLogModel = new CallLogModel();

            _divisionNumber = string.Empty;
            _name = string.Empty;
            _type = Globals.ResourceAllocation.Type.AddEmployee;
        }
        public void ListAllDivisions()
        {
            try
            {
                using (_divisionModel = new DivisionModel())
                {
                    _view.DivisionList = _divisionModel.ListAllDivision();
                }

            }
            catch (Exception ex)
            {
                Logger.Write(string.Format("An Error has ocurred while trying to load the division list.\n{0}\n{1}", ex.Message, ex.StackTrace));
                _view.DisplayMessage("An Internal Error has ocurred while trying to load the division list.", false);
            }
        }
 /// <summary>
 /// List All divisions filtered by Name
 /// </summary>
 public void ListDivisionByName()
 {
     try
     {
         using (_divisionModel = new DivisionModel())
         {
             _view.DivisionList = _divisionModel.ListAllFilteredDivisionByName(_view.PrefixText);
         }
     }
     catch (Exception ex)
     {
         Logger.Write(string.Format("An Error has ocurred while trying to load the Division Information!\n{0}\n{1}", ex.Message, ex.StackTrace));
     }
 }
 public void GetDivisionByEmployee()
 {
     try
     {
         using (_divisionModel = new DivisionModel())
         {
             CS_Division division = _divisionModel.GetDivisionByEmployee(_view.EmployeeId);
             if (null != division)
             {
                 _view.ReturnDataObject = new Globals.SampleDataObject();
                 _view.ReturnDataObject.Id = division.ID;
                 _view.ReturnDataObject.Name = division.Name;
             }
         }
     }
     catch (Exception ex)
     {
         Logger.Write(string.Format("An Error has ocurred while trying to get Division by Employee.\n{0}\n{1}", ex.Message, ex.StackTrace));
     }
 }
        private void BindList()
        {
            CustomerModel customerModel;
            EmployeeModel employeeModel;
            LocationModel locationModel;
            DivisionModel divisionModel;
            JobModel jobModel;
            CallLogModel callLogModel;
            EquipmentModel equipmentModel;

            IList<CS_Customer> customerDataSource;
            IList<CS_Contact> contactDataSource;
            IList<CS_Employee> employeeDataSource;
            IList<CS_JobStatus> jobStatusDataSource;
            IList<CS_City> cityDataSource;
            IList<CS_Division> divisionDataSource;
            IList<CS_PriceType> priceTypeDataSource;
            IList<CS_JobAction> jobActionDataSource;
            IList<CS_Job> jobNumberDataSource;
            IList<CS_ZipCode> zipCodeDataSource;
            IList<CS_State> stateDataSource;
            IList<CS_CallType> callTypeDataSource;
            IList<CS_EquipmentType> equipmentTypeDataSource;
            IList<CS_Equipment> equipmentDataSource;
            IList<CS_LocalEquipmentType> localEquipmentTypeDataSource;

            switch (Request.QueryString["AutoCompleteSource"])
            {
                case "Customer":
                    customerModel = new CustomerModel();
                    customerDataSource = customerModel.ListAllCustomers().OrderBy(e => e.Name).ToList();
                    ViewStateList = customerDataSource;

                    break;

                case "Contact":
                    customerModel = new CustomerModel();
                    contactDataSource = customerModel.ListAllFilteredContactsByName(long.Parse(Request.QueryString["FilterId"]), "").OrderBy(e => e.LastName).ThenBy(e => e.Name).ToList();
                    ViewStateList = contactDataSource;

                    break;

                case "DynamicsContact":
                    customerModel = new CustomerModel();
                    contactDataSource = customerModel.ListFilteredContactsByName(long.Parse(Request.QueryString["FilterId"]), true, "").OrderBy(e => e.Attn).ToList();
                    ViewStateList = contactDataSource;

                    break;

                case "CustomerServiceContact":
                    customerModel = new CustomerModel();
                    contactDataSource = customerModel.ListFilteredContactsByName(long.Parse(Request.QueryString["FilterId"]), false, "").OrderBy(e => e.LastName).ThenBy(e => e.Name).ToList();
                    ViewStateList = contactDataSource;

                    break;

                case "Employee":
                    employeeModel = new EmployeeModel();

                    if (Request.QueryString["FilterId"] != "0")
                        employeeDataSource = employeeModel.ListAllFilteredEmployee(long.Parse(Request.QueryString["FilterId"])).OrderBy(e => e.CS_Division.Name).ThenBy(e => e.FullName).ToList();
                    else
                        employeeDataSource = employeeModel.ListAllEmployee().OrderBy(e => e.CS_Division.Name).ThenBy(e => e.FullName).ToList();
                    ViewStateList = employeeDataSource;

                    break;
                case "EmployeeWithDivision":
                    employeeModel = new EmployeeModel();

                    if (Request.QueryString["FilterId"] != "0")
                        employeeDataSource = employeeModel.ListAllFilteredEmployee(long.Parse(Request.QueryString["FilterId"])).OrderBy(e => e.CS_Division.Name).ThenBy(e => e.FullName).ToList();
                    else
                        employeeDataSource = employeeModel.ListAllEmployee().OrderBy(e => e.CS_Division, new Globals.JobRecord.EmployeeComparer()).ThenBy(e => e.FullName).ToList();
                    ViewStateList = employeeDataSource;
                    break;

                case "JobStatus":
                    jobModel = new JobModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        jobStatusDataSource = new List<CS_JobStatus>();
                        jobStatusDataSource.Add(jobModel.GetJobStatus(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                        jobStatusDataSource = jobModel.ListAllJobStatus();
                    ViewStateList = jobStatusDataSource;
                    break;
                case "JobStatusJobRecord":
                    jobModel = new JobModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0" && Request.QueryString["FilterId"] != Globals.JobRecord.JobStatus.ClosedHold.ToString())
                    {
                        jobStatusDataSource = new List<CS_JobStatus>();
                        jobStatusDataSource.Add(jobModel.GetJobStatus(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                    {
                        jobStatusDataSource = jobModel.ListAllJobStatus();

                        if (jobStatusDataSource.Count > 0)
                        {
                            CS_JobStatus jobStatus = jobStatusDataSource.Where(w => w.ID == (int)Globals.JobRecord.JobStatus.ClosedHold).FirstOrDefault();
                            if (null != jobStatus)
                                jobStatusDataSource.Remove(jobStatus);
                        }
                    }
                    ViewStateList = jobStatusDataSource;
                    break;
                case "State":
                    locationModel = new LocationModel();
                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString.Get("FilterId") != "0")
                        stateDataSource = locationModel.GetStateByCountryId(int.Parse(Request.QueryString.Get("FilterId")));
                    else
                        stateDataSource = locationModel.ListAllStates();
                    ViewStateList = stateDataSource;
                    break;
                case "StateByDivision":
                    locationModel = new LocationModel();
                    stateDataSource = locationModel.ListAllStatesByAllocatedDivision();

                    ViewStateList = stateDataSource;
                    break;
                case "City":
                    locationModel = new LocationModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString.Get("FilterId") != "0")
                        cityDataSource = locationModel.GetCityByState(int.Parse(Request.QueryString.Get("FilterId"))).OrderBy(e => e.Name).ToList();
                    else
                        cityDataSource = locationModel.ListAllCities().OrderBy(e => e.Name).ToList();
                    ViewStateList = cityDataSource;
                    break;

                case "Division":
                    divisionModel = new DivisionModel();
                    divisionDataSource = divisionModel.ListAllDivision();
                    ViewStateList = divisionDataSource;
                    break;
                case "PriceType":
                    jobModel = new JobModel();
                    priceTypeDataSource = jobModel.ListAllPriceTypes();
                    ViewStateList = priceTypeDataSource;
                    break;

                case "JobAction":
                    jobModel = new JobModel();
                    jobActionDataSource = jobModel.ListAllJobActions().OrderBy(w => w.Description).ToList();
                    ViewStateList = jobActionDataSource;
                    break;
                case "ZipCode":
                    locationModel = new LocationModel();
                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString.Get("FilterId") != "0")
                        zipCodeDataSource = locationModel.GetZipCodeByCityId(int.Parse(Request.QueryString.Get("FilterId"))).OrderBy(e => e.ZipCodeNameEdited).ToList();
                    else
                        zipCodeDataSource = locationModel.ListAllZipCodes();
                    ViewStateList = zipCodeDataSource;
                    break;
                case "JobNumber":
                    jobModel = new JobModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        jobNumberDataSource = new List<CS_Job>();
                        jobNumberDataSource.Add(jobModel.GetJobById(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                        jobNumberDataSource = jobModel.ListAllJobs();

                    ViewStateList = jobNumberDataSource;
                    break;
                case "JobNumberByStatus":
                    jobModel = new JobModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        jobNumberDataSource = new List<CS_Job>();
                        jobNumberDataSource = jobModel.ListAllJobsByNumber("", Request.QueryString["FilterId"]);
                    }
                    else
                        jobNumberDataSource = jobModel.ListAllJobs();

                    ViewStateList = jobNumberDataSource;
                    break;
                case "JobNumberWithGeneral":
                    jobModel = new JobModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        jobNumberDataSource = new List<CS_Job>();
                        jobNumberDataSource.Add(jobModel.GetJobById(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                    {
                        List<CS_Job> source = new List<CS_Job>();

                        source.Add(jobModel.GetGeneralJob());
                        source.AddRange(jobModel.ListAllJobs());

                        jobNumberDataSource = source;
                    }

                    ViewStateList = jobNumberDataSource;
                    break;
                case "BillableJobNumber":
                    jobModel = new JobModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        jobNumberDataSource = new List<CS_Job>();
                        jobNumberDataSource.Add(jobModel.GetJobById(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                        jobNumberDataSource = jobModel.ListAllBillableJobs();

                    ViewStateList = jobNumberDataSource;
                    break;
                case "CallType":
                    callLogModel = new CallLogModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        callTypeDataSource = new List<CS_CallType>();
                        callTypeDataSource.Add(callLogModel.GetCallType(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                        callTypeDataSource = callLogModel.ListAllCallType();

                    ViewStateList = callTypeDataSource;
                    break;
                case "EquipmentType":
                    equipmentModel = new EquipmentModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        equipmentTypeDataSource = new List<CS_EquipmentType>();
                        equipmentTypeDataSource.Add(equipmentModel.GetEquipmentType(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                        equipmentTypeDataSource = equipmentModel.ListAllEquipmentType();

                    ViewStateList = equipmentTypeDataSource;
                    break;
                case "Equipment":
                    equipmentModel = new EquipmentModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        equipmentDataSource = new List<CS_Equipment>();
                        equipmentDataSource = equipmentModel.GetEquipmentByEqType(int.Parse(Request.QueryString["FilterId"])).OrderBy(w => w.Name).ToList();
                    }
                    else
                        equipmentDataSource = equipmentModel.ListAllEquipment().OrderBy(w => w.Name).ToList(); ;

                    ViewStateList = equipmentDataSource;
                    break;
                case "LocalEquipmentType":
                    equipmentModel = new EquipmentModel();

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("FilterId")) && Request.QueryString["FilterId"] != "0")
                    {
                        localEquipmentTypeDataSource = new List<CS_LocalEquipmentType>();
                        localEquipmentTypeDataSource.Add(equipmentModel.GetLocalEquipmentTypeByID(int.Parse(Request.QueryString["FilterId"])));
                    }
                    else
                        localEquipmentTypeDataSource = equipmentModel.ListAllLocalEquipmentType();

                    ViewStateList = localEquipmentTypeDataSource;
                    break;
                case "ProjectManager":
                    employeeModel = new EmployeeModel();

                    employeeDataSource = employeeModel.ListAllEmployeeProjectManager();

                    ViewStateList = employeeDataSource;

                    break;
                default:
                    break;
            }
        }
        public void GetDivisionName()
        {
            string name = "--";

            if (_view.Identifier.HasValue)
            {
                using (_divisionModel = new DivisionModel())
                {
                    name = _divisionModel.GetDivision(_view.Identifier.Value).Name;
                }
            }

            _view.ParamName = name;
        }
        /// <summary>
        /// Removes resources from one job and transfer to another, with the CallLogs selected by the user.
        /// Generates a CallLog of the transfer result on each job.
        /// </summary>
        /// <param name="resourceList"></param>
        public void TransferResources(List<CS_Resource> oldResourceList, List<CS_Resource> newResourceList, Dictionary<int, Globals.TransferResource.TransferType> transferTypeList, List<int> callLogIdList, int fromJobId, int toJobId, string username)
        {
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted }))
            {
                CallLogModel callLogModel = new CallLogModel();

                //Removes resources from old job
                RemoveResources(oldResourceList);

                List<int> divisionIdList = new List<int>();
                DivisionModel divisionModel = new DivisionModel();
                //Get resources divisions
                List<CS_Division> divisionList = divisionModel.ListAllDivisionsByResources(oldResourceList);

                for (int i = 0; i < divisionList.Count; i++)
                {
                    if (!divisionIdList.Exists(e => e == divisionList[i].ID))
                        divisionIdList.Add(divisionList[i].ID);
                }

                //Add resources to new job
                SaveOrUpdateResourceAllocation(toJobId, new List<CS_Reserve>(), newResourceList, username, divisionIdList, string.Empty, false, DateTime.Now, false, string.Empty, string.Empty);

                //Deletes the selected call logs and re-create on another job
                callLogModel.TransferExistingResourceCallLogs(oldResourceList, callLogIdList, toJobId, username);

                //Create parked calllog for equipments on old job
                //Create transfer calllog for both jobs, with
                callLogModel.CreateTransferResourceCallLogs(oldResourceList, transferTypeList, fromJobId, toJobId, username);

                scope.Complete();
            }
        }
 /// <summary>
 /// Class Constructor
 /// </summary>
 /// <param name="view">Instance of the route maintenance view interface</param>
 /// <param name="unitOfWork">Unit of Work class (For unit Testing)</param>
 public RouteMaintenanceViewModel(IRouteMaintenanceView view, IUnitOfWork unitOfWork)
 {
     _view = view;
     _divisionModel = new DivisionModel(unitOfWork);
 }
 /// <summary>
 /// Class Constructor
 /// </summary>
 /// <param name="view"></param>
 public RouteMaintenanceViewModel(IRouteMaintenanceView view)
 {
     _view = view;
     _divisionModel = new DivisionModel();
     _locationModel = new LocationModel();
 }