示例#1
0
        public IActionResult Get_CommissionsChf([FromBody] ChfGetCommissionInputs model)
        {
            if (!ModelState.IsValid)
            {
                var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage;
                return(BadRequest(new { success = false, message = error }));
            }

            USSDGetCommissionInputs commision = new USSDGetCommissionInputs()
            {
                enrolment_officer_code = model.officer_code,
                insurance_product_code = model.product_code,
                mode  = CommissionMode.Paid,
                year  = model.year,
                month = model.month,
                payer = model.payer
            };

            JsonResult  resp    = (JsonResult)base.Get_Commissions(commision);
            DataMessage message = (DataMessage)resp.Value;

            var commissionString = JsonConvert.SerializeObject(message.Data);
            var commissionAmount = JsonConvert.DeserializeObject <List <CommissionAmount> >(commissionString).FirstOrDefault();

            var response = new GetCommissionResponse(message.Code, false, 0).Message;

            Language language = Language.Secondary;

            if (model.language == 2)
            {
                language = Language.Primary;
            }

            ImisSms sms = new ImisSms(_configuration, _hostingEnvironment, language);

            var txtmsgTemplate = sms.GetMessage("CommissionInformSms");


            var txtmsg = string.Format(txtmsgTemplate,
                                       new DateTime(Convert.ToInt32(model.year), Convert.ToInt32(model.month), 1).ToString("MMMM", CultureInfo.CreateSpecificCulture("en")),
                                       model.year,
                                       commissionAmount.Amount
                                       );


            sms.QuickSms(txtmsg, model.msisdn);

            if (!response.ErrorOccured)
            {
                return(Ok(new { success = true, message = response.MessageValue }));
            }
            else
            {
                return(BadRequest(new { success = false, message = response.MessageValue }));
            }
        }
示例#2
0
        public DataMessage GetCommissions(USSDGetCommissionInputs model)
        {
            var sSQL = @"SELECT ISNULL(SUM(ISNULL(R.CammissionRate, 0.00) * PR.Amount),0.00) AS Commission, ISNULL(SUM(ISNULL(PR.Amount,0.00)),0.00) AS Amount
                        FROM tblPremium AS PR INNER JOIN
                             tblPolicy AS P ON P.PolicyID = PR.PolicyID AND P.ValidityTo IS NULL INNER JOIN
                             tblReporting AS R ON R.ReportingId = PR.ReportingCommissionID INNER JOIN
                             tblOfficer O ON P.OfficerID = O.OfficerID
                        WHERE  (PR.ReportingCommissionID IS NOT NULL) AND (PR.PayDate BETWEEN @MinDate and @MaxDate) 
                                AND (PR.ValidityTo IS NULL) AND (O.Code = @EnrollmentOfficerCode)";

            int year  = DateTime.UtcNow.Year;
            int month = DateTime.UtcNow.Month;

            try
            {
                year  = Convert.ToInt32(model.year);
                month = Convert.ToInt32(model.month);
            }
            catch (Exception)
            {
                throw;
            }

            DateTime minDate = new DateTime(year, month, 1);
            DateTime maxDate = new DateTime(year, month, DateTime.DaysInMonth(year, month));

            DataHelper helper = new DataHelper(Configuration);

            SqlParameter[] sqlParameters =
            {
                new SqlParameter("@MaxDate",               maxDate),
                new SqlParameter("@MinDate",               minDate),
                new SqlParameter("@Mode",                  model.mode),
                new SqlParameter("@EnrollmentOfficerCode", (model.enrolment_officer_code != null)?model.enrolment_officer_code:(object)DBNull.Value),
                new SqlParameter("@Payer",                 (model.payer != null)? model.payer:(object)DBNull.Value),
                new SqlParameter("@ProductCode",           (model.insurance_product_code != null)? model.insurance_product_code:(object)DBNull.Value)
            };

            DataMessage message;

            try
            {
                var response = helper.GetDataTable(sSQL, sqlParameters, System.Data.CommandType.Text);
                message = new GetCommissionResponse(0, false, response, 0).Message;
            }
            catch (Exception e)
            {
                message = new GetCommissionResponse(e).Message;
            }

            return(message);
        }
        public virtual IActionResult Get_Commissions([FromBody] USSDGetCommissionInputs model)
        {
            if (!ModelState.IsValid)
            {
                var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage;
                return(BadRequest(new { error_occured = true, error_message = error }));
            }

            var identity = HttpContext.User.Identity as ClaimsIdentity;
            var iden     = identity.FindFirst("UserId");

            try
            {
                policies.UserId = Convert.ToInt32(iden.Value);
            }
            catch (Exception)
            {
                policies.UserId = -1;
            }

            var response = policies.GetCommissions(model);

            return(Json(response));
        }