Exemplo n.º 1
0
        public GetGeneralResponse <SupportTicketWaitingView> GetSupportTicketWaiting(Guid SupportID)
        {
            GetGeneralResponse <SupportTicketWaitingView> response = new GetGeneralResponse <SupportTicketWaitingView>();

            try
            {
                Query     query             = new Query();
                Criterion SupportIDCriteria = new Criterion("Support.ID", SupportID, CriteriaOperator.Equal);
                query.Add(SupportIDCriteria);

                SupportTicketWaiting supportTicketWaiting = new SupportTicketWaiting();
                supportTicketWaiting = _supportTicketWaitingRepository.FindBy(query).FirstOrDefault();

                response.data       = supportTicketWaiting.ConvertToSupportTicketWaitingView();
                response.totalCount = 1;
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Exemplo n.º 2
0
        public GeneralResponse DeleteSupportTicketWaiting(DeleteRequest request)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                SupportTicketWaiting supportTicketWaiting = new SupportTicketWaiting();

                supportTicketWaiting = _supportTicketWaitingRepository.FindBy(request.ID);

                _supportTicketWaitingRepository.Remove(supportTicketWaiting);
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Exemplo n.º 3
0
 public static SupportTicketWaitingView ConvertToSupportTicketWaitingView(
     this SupportTicketWaiting supportTicketWaiting)
 {
     return(Mapper.Map <SupportTicketWaiting, SupportTicketWaitingView>(supportTicketWaiting));
 }
Exemplo n.º 4
0
        public GeneralResponse EditSupportTicketWaiting(EditSupportTicketWaitingRequest request, Guid ModifiedEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                SupportTicketWaiting supportTicketWaiting = new SupportTicketWaiting();

                supportTicketWaiting = _supportTicketWaitingRepository.FindBy(request.ID);

                supportTicketWaiting.Comment            = request.Comment;
                supportTicketWaiting.DateOfPersenceDate = request.DateOfPersenceDate;
                supportTicketWaiting.InstallExpert      = _employeeRepository.FindBy(request.InstallExpertID);
                supportTicketWaiting.ModifiedDate       = PersianDateTime.Now;
                supportTicketWaiting.ModifiedEmployee   = _employeeRepository.FindBy(ModifiedEmployeeID);
                supportTicketWaiting.Selt = request.Selt;
                supportTicketWaiting.SendNotificationToCustomer = request.SendNotificationToCustomer;
                supportTicketWaiting.Snr             = request.Snr;
                supportTicketWaiting.SourceWireCheck = request.SourceWireCheck;
                supportTicketWaiting.TicketSubject   = request.TicketSubject;
                supportTicketWaiting.WireColor       = request.WireColor;

                #region Row Version Check

                if (supportTicketWaiting.RowVersion != request.RowVersion)
                {
                    response.ErrorMessages.Add("EditConcurrencyKey");
                    return(response);
                }
                else
                {
                    supportTicketWaiting.RowVersion += 1;
                }

                if (supportTicketWaiting.GetBrokenRules().Count() > 0)
                {
                    foreach (BusinessRule businessRule in supportTicketWaiting.GetBrokenRules())
                    {
                        response.ErrorMessages.Add(businessRule.Rule);
                    }

                    return(response);
                }


                #endregion

                //SupportStatusRelation supportStatusRelation = _supportStatusRelationRepository.FindBy(request.SupportStatusID);
                //supportTicketWaiting.Support.SupportStatus = _supportStatusRepository.FindBy(supportStatusRelation.RelatedSupportStatus.ID);
                //supportTicketWaiting.Support.Customer.SupportStatus = supportTicketWaiting.Support.SupportStatus;


                _supportTicketWaitingRepository.Save(supportTicketWaiting);
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Exemplo n.º 5
0
        public GeneralResponse AddSupportTicketWaiting(AddSupportTicketWaitingRequest request, Guid CreateEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                SupportTicketWaiting supportTicketwaiting = new SupportTicketWaiting();

                supportTicketwaiting.ID                         = Guid.NewGuid();
                supportTicketwaiting.CreateDate                 = PersianDateTime.Now;
                supportTicketwaiting.CreateEmployee             = _employeeRepository.FindBy(CreateEmployeeID);
                supportTicketwaiting.Comment                    = request.Comment;
                supportTicketwaiting.DateOfPersenceDate         = request.DateOfPersenceDate;
                supportTicketwaiting.InstallExpert              = _employeeRepository.FindBy(request.InstallExpertID);
                supportTicketwaiting.Selt                       = request.Selt;
                supportTicketwaiting.SendNotificationToCustomer = request.SendNotificationToCustomer;
                supportTicketwaiting.Snr                        = request.Snr;
                supportTicketwaiting.SourceWireCheck            = request.SourceWireCheck;
                supportTicketwaiting.Support                    = _supportRepository.FindBy(request.SupportID);
                supportTicketwaiting.TicketSubject              = request.TicketSubject;
                supportTicketwaiting.WireColor                  = request.WireColor;
                supportTicketwaiting.RowVersion                 = 1;



                SupportStatusRelation supportStatusRelation = _supportStatusRelationRepository.FindBy(request.SupportStatusID);
                supportTicketwaiting.Support.SupportStatus          = _supportStatusRepository.FindBy(supportStatusRelation.RelatedSupportStatus.ID);
                supportTicketwaiting.Support.Customer.SupportStatus = supportTicketwaiting.Support.SupportStatus;

                if (supportTicketwaiting.Support.SupportStatus.IsLastSupportState)
                {
                    supportTicketwaiting.Support.Closed = true;
                }

                _supportTicketWaitingRepository.Add(supportTicketwaiting);
                _uow.Commit();

                #region Send SMS

                if (supportTicketwaiting.Support.SupportStatus.SendSmsOnEnter)
                {
                    // Threading
                    SmsData smsData = new SmsData()
                    {
                        body = supportTicketwaiting.Support.SupportStatus.SmsText, phoneNumber = supportTicketwaiting.Support.Customer.Mobile1
                    };
                    Thread oThread = new Thread(SendSmsVoid);
                    oThread.Start(smsData);
                }

                #endregion
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }