コード例 #1
0
        public async Task <IActionResult> Insert(ResponceSubmitReq ResponceSubmitReq)
        {
            if (ModelState.IsValid)
            {
                if valid
                _SubmitMessageDomain.Category.Add(notificationRespone);

                await _ ResponceSubmitReqDomain.Insert(ResponceSubmitReq);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(ResponceSubmitReq));
        }
コード例 #2
0
        public async Task <ResultList <NotificationRespone> > ImportExcelFile(string ID, IFormFile formFile, string messageParagraph, string userLoggedInID, string totalVarible)

        {
            ResultList <NotificationRespone> result = new ResultList <NotificationRespone> ();

            if (formFile == null || formFile.Length <= 0)
            {
                result.Status  = 3;
                result.Message = "No data found";
                return(result);
            }
            if (!Path.GetExtension(formFile.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase))
            {
                result.Status  = 1;
                result.Message = "No data found";
                return(result);
            }
            HttpResponseMessage res = new HttpResponseMessage();

            if (res.IsSuccessStatusCode)
            {
                Req.ClientId = "7001044523";
            }
            Req.ClientAuthorization = "kGB4B72DBmAvulfzTFQkbvmHvZlEXYY91wuFBU3v4jE=";
            Req.SubmitId            = ID;
            ParamType param1       = new ParamType();
            ParamType param2       = new ParamType();
            ParamType param3       = new ParamType();
            var       list         = new List <MessageVaribles> ();
            var       list         = new List <NotificationRespone> ();
            var       ErrorMsgList = new List <NotificationFault> ();

            using (var stream = new MemoryStream()) {
                await formFile.CopyToAsync(stream, cancellationToken);

                await formFile.CopyToAsync(stream);

                using (var package = new ExcelPackage(stream)) {
                    var ErrorMsg = new NotificationFault();
                    try {
                        ExcelWorksheet worksheet      = package.Workbook.Worksheets[0];
                        int            rowCount       = worksheet.Dimension.Rows;
                        int            ColCount       = worksheet.Dimension.Columns;
                        var            RecipientsList = new List <RecipientType> ();
                        for (int row = 2; row <= rowCount; row++)
                        {
                            Recipients                   = new RecipientType();
                            Recipients.Language          = "AR";
                            Recipients.NationalOrIqamaId = Convert.ToString(worksheet.Cells[row, 1].Value);
                            string rowValue = Convert.ToString(worksheet.Cells[row, 1].Value);
                            if (rowValue.Length < 10)
                            {
                                result.Status  = 1;
                                result.Message = "الرجاء التأكد من البيانات حيث أنه أقل من 10 أرقام " + rowValue;
                                break;
                            }
                            else
                            {
                                Recipients.NationalOrIqamaId = rowValue;
                                List <ParamType> ParamList = new List <ParamType> ();
                                var allColwithoutFirstCol  = ColCount - 1;
                                if (totalVarible == allColwithoutFirstCol.ToString())
                                {
                                    if (totalVarible == "0")
                                    {
                                        RecipientsList.Add(Recipients);
                                        Req.Recipients = RecipientsList.ToArray();
                                        var sys_result = _ SmsNotificationService.SubmitRequest(Req);
                                    }
                                    else
                                    {
                                        int       i     = 1;
                                        ParamType param = new ParamType();
                                        for (int col = 2; col <= ColCount; col++)
                                        {
                                            string h = Convert.ToString(worksheet.Cells[1, col].Value);
                                            param      = new ParamType();
                                            param.Name = "VAR0" + i.ToString();

                                            string str = Convert.ToString(worksheet.Cells[row, col].Value);

                                            Match match = Regex.Match(str, @"[~`!#$%^&*+=|{}';<>?[\]""]", RegexOptions.IgnoreCase);

                                            if (!match.Success)
                                            {
                                                param.Value = str;
                                                ParamList.Add(param);
                                                i++;
                                            }
                                            else
                                            {
                                                result.Message = "الرجاء التأكد من المحتوى حيث يوجد رمز لايمكن ارساله ( " + match + " )";

                                                result.Status = 1;
                                                return(result);
                                            }
                                        }

                                        Recipients.Params = ParamList.ToArray();
                                        RecipientsList.Add(Recipients);
                                    }
                                }
                                else
                                {
                                    result.Message = allColwithoutFirstCol + "لابد أن يكون عدد المتغييرات";
                                    result.Message = "توجد مشكلة لايمكن الارسال عدد متغييرات الرسالة  غير متناسب مع عدد الأعمدة بالملف المرفق. الرجاء التأكد من أن عدد المتغييرات لابد أن يساوي عدد الأعمدة بالملف المرفق ليتناسب مع قالب الارسال";
                                    result.Status  = 1;
                                    return(result);
                                }
                            }
                            Req.Recipients = RecipientsList.ToArray();
                            var sys_result = _ SmsNotificationService.SubmitRequest(Req);

                            if (sys_result != null)
                            {
                                ResponceSubmitReq resEnity = new ResponceSubmitReq();
                                resEnity.BatchStatus      = sys_result.Status.ToString();
                                resEnity.BatchNumber      = sys_result.BatchNumber;
                                resEnity.MessageParagraph = messageParagraph;
                                resEnity.SubmitID         = ID;

                                resEnity.CreatedBy = HttpContext.User.Identity.Name;

                                await _ ResponceSubmitReqDomain.Insert(resEnity);

                                list.Add(sys_result);
                                result.List    = list;
                                result.Status  = 0;
                                result.Message = "OK";
                                return(result);
                            }
                            else
                            {
                                result.Status  = 1;
                                result.Message = "Error in Data";
                                return(result);
                            }
                        }
                        catch (Exception ex) {
                            if (ex.Message == "Client does not exists")
                            {
                                ErrorMsg.ErrorCode = "20001";

                                ErrorMsg.ErrorMessage = "العميل غير مسجل ";
                                result.Message        = ErrorMsg.ErrorMessage + " رقم الخطاء : " + ErrorMsg.ErrorCode;
                                result.Status         = 1;
                            }
                            else if (ex.Message == "Client is Inactive")
                            {
                                ErrorMsg.ErrorCode = "20002";

                                ErrorMsg.ErrorMessage = "العميل غير مفعل ";
                                result.Message        = ErrorMsg.ErrorMessage + " رقم الخطاء : " + ErrorMsg.ErrorCode;
                                result.Status         = 1;
                            }
                            else if (ex.Message == "Submit does not exists.")
                            {
                                ErrorMsg.ErrorCode = "20003";

                                ErrorMsg.ErrorMessage = "تم اختيار قالب غير صحيح  ";
                                result.Message        = ErrorMsg.ErrorMessage + " رقم الخطاء : " + ErrorMsg.ErrorCode;
                                result.Status         = 1;
                            }
                            else if (ex.Message == "Submit Parameters are  inconsistent with request parameters")
                            {
                                ErrorMsg.ErrorCode = "10003";

                                ErrorMsg.ErrorMessage = "تم اختيار قالب غير متوافق  ";
                                result.Message        = ErrorMsg.ErrorMessage + " رقم الخطاء : " + ErrorMsg.ErrorCode;
                                result.Status         = 1;
                            }
                            else if (ex.Message == "Language incorrect")
                            {
                                ErrorMsg.ErrorCode = "20004";

                                ErrorMsg.ErrorMessage = "تم اختيار لغة غير صحيحة ";
                                result.Message        = ErrorMsg.ErrorMessage + " رقم الخطاء : " + ErrorMsg.ErrorCode;
                                result.Status         = 1;
                            }
                            else if (ex.Message == "Any of the date is missing or empty")
                            {
                                ErrorMsg.ErrorCode = "20005";

                                ErrorMsg.ErrorMessage = "أحد البيانات مفقود أو لايوجد ";
                                result.Message        = ErrorMsg.ErrorMessage + " رقم الخطاء : " + ErrorMsg.ErrorCode;
                                result.Status         = 1;
                                //return result;
                            }
                            else
                            {
                                result.Message = " مشكلة من مزود الخدمة توجد مشكلة لايمكن الارسال عدد متغييرات الرسالة  غير متناسب مع عدد الأعمدة بالملف المرفق. الرجاء التأكد من أن عدد المتغييرات لابد أن يساوي عدد الأعمدة بالملف المرفق ليتناسب مع قالب الارسال، أو الملف الذي تم ارفاقه يحتوي على رقم هوية أو اقامة غير صحيح  ";
                                result.Status  = 1;
                            }
                        }
                    }
                }

                return(result);
            }