Exemple #1
0
        /// <summary>
        /// Should take place after agent is built AND WieldInitialWeapons is invoked
        /// </summary>
        /// <param name="agent"></param>
        private void AfterAgentSpawned(Agent agent)
        {
            var campaignAgent = new CampaignAgent(agent);

            if (_formationBanners.ContainsKey(campaignAgent.Formation) && _controller.AgentGetsFancyShield(campaignAgent))
            {
                agent.SwitchShieldBanner(_formationBanners[campaignAgent.Formation]);
            }

            if (_controller.AgentIsEligible(campaignAgent) &&
                _controller.AgentGetsBanner(campaignAgent))
            {
                agent.RemoveFromEquipment(_forbiddenWeapons);
                agent.AddComponent(new DropBannerComponent(agent, _settings, _dropBannerController));

                if (_formationBanners.ContainsKey(campaignAgent.Formation) && _controller.AgentGetsFancyBanner(campaignAgent))
                {
                    agent.EquipBanner(_formationBanners[campaignAgent.Formation]);
                }
                else
                {
                    agent.EquipBanner();
                }
            }
        }
Exemple #2
0
        public GeneralResponse AddCampaignAgent(IEnumerable <AddCampaignAgentRequest> requests, Guid CreateEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (AddCampaignAgentRequest request in requests)
                {
                    CampaignAgent campaignAgent = new CampaignAgent();
                    campaignAgent.ID = Guid.NewGuid();
                    campaignAgent.CampaignAgentName = request.CampaignAgentName;
                    campaignAgent.CreateDate        = PersianDateTime.Now;
                    campaignAgent.CreateEmployee    = _employeeRepository.FindBy(CreateEmployeeID);
                    campaignAgent.RowVersion        = 1;

                    _campaignAgentRepository.Add(campaignAgent);
                }

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

            return(response);
        }
Exemple #3
0
        public GeneralResponse EditCampaignAgent(IEnumerable <EditCampaignAgentRequest> requests, Guid ModifiedEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (EditCampaignAgentRequest request in requests)
                {
                    CampaignAgent campaignAgent = new CampaignAgent();

                    campaignAgent = _campaignAgentRepository.FindBy(request.ID);
                    campaignAgent.CampaignAgentName = request.CampaignAgentName;
                    campaignAgent.ModifiedEmployee  = _employeeRepository.FindBy(ModifiedEmployeeID);
                    campaignAgent.ModifiedDate      = PersianDateTime.Now;

                    #region RowVersion - Validation
                    if (campaignAgent.RowVersion != request.RowVersion)
                    {
                        response.ErrorMessages.Add("EditConcurrencyKey");
                        return(response);
                    }
                    else
                    {
                        campaignAgent.RowVersion += 1;
                    }

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

                        return(response);
                    }

                    #endregion

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

            return(response);
        }
Exemple #4
0
        /// <summary>
        /// Should take place after agent is built AND WieldInitialWeapons is invoked
        /// </summary>
        /// <param name="agent"></param>
        private void AfterAgentSpawned(Agent agent)
        {
            var campaignAgent = new CampaignAgent(agent);

            if (_controller.PolybianUnitExists(campaignAgent))
            {
                _controller.CountAgentForPolybian(campaignAgent);
                agent.SwitchShieldBanner(_controller.GetPolybianBannerForAgent(campaignAgent));
            }

            if (_controller.AgentIsEligible(campaignAgent) &&
                _controller.AgentGetsBanner(campaignAgent))
            {
                agent.RemoveFromEquipment(_forbiddenWeapons);
                agent.AddComponent(new DropBannerComponent(agent, _settings, _dropBannerController));
            }
        }
Exemple #5
0
        public GeneralResponse AddCampaignPayment(IEnumerable <AddCampignPaymentRequest> requests, Guid CampaignAgentID, Guid CreateEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                CampaignAgent campaignAgent = new CampaignAgent();
                campaignAgent = _campaignAgentRepository.FindBy(CampaignAgentID);
                foreach (var request in requests)
                {
                    CampaignPayment campaignPayment = new CampaignPayment();

                    campaignPayment.ID                = Guid.NewGuid();
                    campaignPayment.CreateDate        = PersianDateTime.Now;
                    campaignPayment.CreateEmployee    = _employeeRepository.FindBy(CreateEmployeeID);
                    campaignPayment.SuctionModeDetail = _suctionModeDetailRepository.FindBy(request.SuctionModeDetailID);
                    campaignPayment.CampaignAgent     = _campaignAgentRepository.FindBy(CampaignAgentID);
                    campaignPayment.Amount            = request.Amount;
                    campaignPayment.PaymentDate       = request.PaymentDate;
                    campaignPayment.Note              = request.Note;
                    campaignPayment.RowVersion        = 1;

                    campaignAgent.TotalPayment += campaignPayment.Amount;

                    _campaignPaymentRepository.Add(campaignPayment);
                }
                _campaignAgentRepository.Save(campaignAgent);
                _uow.Commit();
            }

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

            return(response);
        }
Exemple #6
0
 public static CampaignAgentView ConvertToCampaignAgentView(this CampaignAgent campaignAgent)
 {
     return(Mapper.Map <CampaignAgent, CampaignAgentView>(campaignAgent));
 }