Esempio n. 1
0
        public SmsTemplate(SmsTemplateInputViewModel sms)
        {
            SmsTemplateName = sms.SmsTemplateName;
            SmsTemplateCode = sms.SmsTemplateCode;
            MessageType     = sms.MessageType;
            SmsContent      = sms.SmsContent;
            IsActive        = sms.IsActive;
            ApplyAllSystem  = sms.ApplyAllSystem;
            IsDelete        = sms.IsDelete;
            CreateUserId    = sms.UserId;
            CreateDate      = DateTime.Now;

            TypeNumber         = sms.TypeNumber;
            OrganizationCode   = sms.OrganizationCode;
            OrganizationName   = sms.OrganizationName;
            HealthFacilitiesId = sms.HealthFacilitiesId;
        }
Esempio n. 2
0
        public IActionResult Update([FromBody] SmsTemplateInputViewModel sms)
        {
            try
            {
                _context.Session.BeginTransaction();

                var nameCurrentTemplate = _context.Query <SmsTemplate>().Where(g => g.Id == sms.Id).Select(g => g.SmsTemplateName).FirstOrDefault();

                if (sms.SmsTemplateName != nameCurrentTemplate)
                {
                    string sql = $"SELECT * FROM {nameData}.sms_template where BINARY SmsTemplateName = '{sms.SmsTemplateName}' and {sms.IsDelete} = false";
                    //if (sms.HealthFacilitiesId != null)
                    //{
                    //    sql = sql + $" and (HealthFacilitiesId = {sms.HealthFacilitiesId} or HealthFacilitiesId = null)";
                    //}

                    List <string>  clause = new List <string>();
                    List <DbParam> param  = new List <DbParam>();
                    var            str    = $"{sql} {string.Join(" ", clause)}";
                    var            reader = _context.Session.ExecuteReader($"{sql} {string.Join(" ", clause)}", param);

                    var HealthFacilitiesId = "";
                    var Id = 0;

                    List <SmsTemplate> lst = new List <SmsTemplate>();
                    while (reader.Read())
                    {
                        Id = Convert.ToInt32(reader["Id"]);
                        HealthFacilitiesId = Convert.ToString(reader["HealthFacilitiesId"]);
                    }

                    reader.Close();

                    if (Id != 0 && (HealthFacilitiesId == "" || Convert.ToInt32(HealthFacilitiesId) == sms.HealthFacilitiesId))
                    {
                        return(StatusCode(406, _excep.Throw(406, "Sửa mẫu tin nhắn không thành công.", "Tên mẫu tin nhắn đã tồn t" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "" +
                                                            "ại !")));
                    }
                }

                if (_context.Query <SmsTemplate>().Where(g => g.SmsContent == sms.SmsContent && g.Id != sms.Id && sms.IsDelete == false).Count() > 0)
                {
                    return(StatusCode(406, _excep.Throw(406, "Sửa mẫu tin nhắn không thành công.", "Nội dung tin nhắn đã tồn tại !")));
                }

                //if (_context.Query<SmsLogs>().Where(g => g.SmsTemplateId == sms.Id && g.Status == 1).Count() > 0)
                //    return StatusCode(500, _excep.Throw("Sửa mẫu tin nhắn không thành công.", "Mẫu tin nhắn đã được sử dụng !"));

                _context.Update <SmsTemplate>(g => g.Id == sms.Id, a => new SmsTemplate
                {
                    SmsTemplateName = sms.SmsTemplateName,
                    MessageType     = sms.MessageType,
                    SmsContent      = sms.SmsContent,
                    IsActive        = sms.IsActive,
                    ApplyAllSystem  = sms.ApplyAllSystem,

                    UpdateDate   = DateTime.Now,
                    UpdateUserId = sms.UserId
                });

                _context.Session.CommitTransaction();

                return(Json(new ActionResultDto()));
            }
            catch (Exception e)
            {
                if (_context.Session.IsInTransaction)
                {
                    _context.Session.RollbackTransaction();
                }
                return(Json(new ActionResultDto {
                    Error = e.Message
                }));
            }
        }
Esempio n. 3
0
        public IActionResult Create([FromBody] SmsTemplateInputViewModel sms)
        {
            string sql = $"SELECT * FROM {nameData}.sms_template where BINARY SmsTemplateName = '{sms.SmsTemplateName}' and {sms.IsDelete} = false";

            SmsTemplate genSmsCode;
            string      smsTemplateCode = "";

            if (sms.HealthFacilitiesId == null)
            {
                genSmsCode = _context.Query <SmsTemplate>().Where(s => s.IsDelete == false && s.HealthFacilitiesId == null).OrderByDesc(s => s.CreateDate).FirstOrDefault();
                if (genSmsCode != null)
                {
                    if (genSmsCode.SmsTemplateCode != null)
                    {
                        if (int.Parse(genSmsCode.SmsTemplateCode.Substring(8, 2)) < 9)
                        {
                            smsTemplateCode = genSmsCode.SmsTemplateCode.Substring(0, 8) + "0" + (int.Parse(genSmsCode.SmsTemplateCode.Substring(8, 2)) + 1).ToString();
                        }
                        else
                        {
                            smsTemplateCode = genSmsCode.SmsTemplateCode.Substring(0, 8) + (int.Parse(genSmsCode.SmsTemplateCode.Substring(8, 2)) + 1).ToString();
                        }
                    }
                    else
                    {
                        smsTemplateCode = "SMSADMIN" + "00";
                    }
                }
                else
                {
                    smsTemplateCode = "SMSADMIN" + "00";
                }
            }
            else
            {
                var healthFacilities = _context.Query <HealthFacilities>().Where(h => h.IsDelete == false && h.HealthFacilitiesId == sms.HealthFacilitiesId).FirstOrDefault();
                genSmsCode = _context.Query <SmsTemplate>().Where(s => s.IsDelete == false && s.HealthFacilitiesId == sms.HealthFacilitiesId).OrderByDesc(s => s.CreateDate).FirstOrDefault();
                if (genSmsCode != null)
                {
                    if (genSmsCode.SmsTemplateCode != null)
                    {
                        if (int.Parse(genSmsCode.SmsTemplateCode.Substring(8, 2)) < 9)
                        {
                            smsTemplateCode = genSmsCode.SmsTemplateCode.Substring(0, 8) + "0" + (int.Parse(genSmsCode.SmsTemplateCode.Substring(8, 2)) + 1).ToString();
                        }
                        else
                        {
                            smsTemplateCode = genSmsCode.SmsTemplateCode.Substring(0, 8) + (int.Parse(genSmsCode.SmsTemplateCode.Substring(8, 2)) + 1).ToString();
                        }
                    }
                    else
                    {
                        smsTemplateCode = "SMS" + healthFacilities.Code + "00";
                    }
                }
                else
                {
                    smsTemplateCode = "SMS" + healthFacilities.Code + "00";
                }
            }

            sms.SmsTemplateCode = smsTemplateCode;

            //if (sms.HealthFacilitiesId != null)
            //{
            //    sql = sql + $" and (HealthFacilitiesId = {sms.HealthFacilitiesId} or HealthFacilitiesId = null)";
            //}

            List <string>  clause = new List <string>();
            List <DbParam> param  = new List <DbParam>();
            var            str    = $"{sql} {string.Join(" ", clause)}";
            var            reader = _context.Session.ExecuteReader($"{sql} {string.Join(" ", clause)}", param);

            var HealthFacilitiesId = "";
            var Id = 0;

            List <SmsTemplate> lst = new List <SmsTemplate>();

            while (reader.Read())
            {
                Id = Convert.ToInt32(reader["Id"]);
                HealthFacilitiesId = Convert.ToString(reader["HealthFacilitiesId"]);
            }

            reader.Close();

            if (Id != 0 && (HealthFacilitiesId == "" || Convert.ToInt32(HealthFacilitiesId) == sms.HealthFacilitiesId))
            {
                return(StatusCode(406, _excep.Throw(406, "Tạo mẫu tin nhắn không thành công.", "Tên mẫu tin nhắn đã tồn t" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "" +
                                                    "ại !")));
            }

            if (_context.Query <SmsTemplate>().Where(g => g.SmsContent == sms.SmsContent && ((g.CreateUserId == sms.CreateUserId) || (g.CreateUserId == 1)) && sms.IsDelete == false).Count() > 0)
            {
                return(StatusCode(406, _excep.Throw(406, "Tạo mẫu tin nhắn không thành công.", "Nội dung tin nhắn đã tồn tại !")));
            }

            return(Json(new ActionResultDto {
                Result = _context.Insert(new SmsTemplate(sms))
            }));
        }