コード例 #1
0
        public IActionResult delete(long CashInId)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var userId = this.help.GetCurrentUser(HttpContext);
                    if (userId <= 0)
                    {
                        transaction.Rollback();
                        return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                    }

                    var CashInData = (from p in db.CashIn
                                      where p.CashInId == CashInId &&
                                      (p.Status == 1)
                                      select p).SingleOrDefault();

                    if (CashInData == null)
                    {
                        transaction.Rollback();
                        return(NotFound("!خــطأ : العملية النقدية غير موجوده او مرفوضه مسبقا"));
                    }

                    CashInData.Status = 0;

                    db.SaveChanges();

                    BanksysBankActions BA = new BanksysBankActions();
                    BA.ActionType  = 6;
                    BA.Description = "رفض عملية نقدية";
                    BA.UserId      = userId;
                    BA.CashInId    = CashInData.CashInId;
                    BA.BranchId    = this.help.GetCurrentBranche(HttpContext);
                    BA.UserType    = this.help.GetCurrentUserType(HttpContext);
                    BA.ActionDate  = DateTime.Now;
                    db.BanksysBankActions.Add(BA);
                    db.SaveChanges();


                    transaction.Commit();
                    return(Ok("تم رفض العملية النقدية"));
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    return(StatusCode(500, e.Message));
                }
            }
        }
コード例 #2
0
        public IActionResult Confirm(long CashInId)
        {
            using (var trans = db.Database.BeginTransaction())
            {
                var userId = this.help.GetCurrentUser(HttpContext);

                if (userId <= 0)
                {
                    trans.Rollback();
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }
                try
                {
                    var UserInfov1 = from x in db.BanksysBankActions
                                     where  x.CashInId == (int)CashInId
                                     select x;

                    if (UserInfov1.Count() <= 0)
                    {
                        trans.Rollback();
                        return(StatusCode(401, "لاتوجد بيانات للعملية النقدية"));
                    }

                    if (UserInfov1.Where(x => x.CashIn.Status == 2).Count() > 0)
                    {
                        trans.Rollback();
                        return(StatusCode(401, "خطأ لقد قمت  بتعبئة مرتين لهذاالرقم"));
                    }



                    var UserInfo = (from t in UserInfov1
                                    orderby t.ActionDate descending
                                    select new
                    {
                        t.User.FullName,
                        t.CashIn.Valuedigits,
                        t.CashIn.NumInvoiceDep,
                        t.CashInId,
                        t.CashIn.Description,
                        t.Branch,
                        t.Branch.Bank,
                        t.CashIn.Status,
                        t.ActionDate,
                        FName = t.CashIn.Personal.Name,
                        t.CashIn.Personal.FatherName,
                        t.CashIn.Personal.SurName,
                        t.CashIn.Personal.GrandName,
                        t.CashIn.Personal.Nid,
                        t.CashIn.Personal.Phone,
                        PerId = t.CashIn.PersonalId,
                        t.CashIn
                    }).SingleOrDefault();

                    int personId = (int)UserInfo.CashIn.PersonalId;
                    if (personId < 0)
                    {
                        return(StatusCode(403, "خطأ لايمكن الايداع الرجاء الاتصال بالمشغل"));
                    }

                    var PersonalInfo = (from p in db.PersonalInfo
                                        where p.Id == personId
                                        select p).SingleOrDefault();

                    if (PersonalInfo == null)
                    {
                        return(StatusCode(403, "خطأ هذا المستخدم غير موجود"));
                    }

                    string MSISDN = PersonalInfo.Phone.Substring(PersonalInfo.Phone.Length - 9);
                    if (MSISDN == null || MSISDN.Length < 9)
                    {
                        return(StatusCode(405, "الرجاء تعبئة رقم الهاتف"));
                    }
                    string UserNameUpdateBy = UserInfo.FullName;
                    if (UserNameUpdateBy == null)
                    {
                        return(StatusCode(406, "الرجاء تسجيل الدخول اولا"));
                    }
                    var nid = PersonalInfo.Nid;

                    if (nid == null || nid.Length < 12)
                    {
                        return(StatusCode(405, "الرجاء تعبئة الرقم الوطني"));
                    }
                    // Created by


                    String ShopeId = "";
                    var    LRM     = "/";
                    var    RM      = ((char)0x200E).ToString();

                    ShopeId = String.Format("{0}" + LRM + "" + RM + "{1}" + LRM + "{2}" + LRM + "" + RM + "{3}" + LRM + "" + RM + "{4}" + LRM + "" + RM + "{5}" + LRM + "" + RM + "{6}", UserInfo.CashIn.DepositType.ToString(), ((UserInfo.CashIn.CheckNum.ToString() == "") ? "Empty" : UserInfo.CashIn.CheckNum.ToString()), ((UserInfo.CashIn.NumInvoiceDep.ToString() == "") ? "Empty" : UserInfo.CashIn.NumInvoiceDep.ToString()), ((UserInfo.CashIn.CardNumber.ToString() == "") ? "Empty" : UserInfo.CashIn.CardNumber.ToString()), UserInfo.Branch.BankId, ((UserInfo.CashIn.Item == "") ? "Empty" : UserInfo.CashIn.Item), ((UserInfo.CashIn.BanckAccountNumber == "") ? "Empty" : UserInfo.CashIn.BanckAccountNumber));

                    var result = CashInWalletAsync("00218" + MSISDN, (double)UserInfo.CashIn.Valuedigits, ShopeId, UserInfo.FullName);
                    if (result.responseString != "Success")
                    {
                        var CashInUpdatev1 = (from p in db.CashIn
                                              where p.CashInId == CashInId &&
                                              (p.Status == 1)
                                              select p).SingleOrDefault();

                        if (CashInUpdatev1 == null)
                        {
                            trans.Rollback();
                            return(BadRequest("خطأ بيانات التعبئة غير موجودة"));
                        }


                        CashInUpdatev1.Status         = 0;
                        CashInUpdatev1.LastModifiedOn = DateTime.Now;
                        CashInUpdatev1.LastModifiedBy = (int)userId;
                        db.SaveChanges();

                        BanksysBankActions BAv1 = new BanksysBankActions();
                        BAv1.ActionType  = 4;
                        BAv1.Description = "رفض عملية نقدية - تم الرفض من النظام السبب : " + result.responseString;
                        BAv1.UserId      = userId;
                        BAv1.CashInId    = CashInId;
                        BAv1.BranchId    = this.help.GetCurrentBranche(HttpContext);
                        BAv1.UserType    = this.help.GetCurrentUserType(HttpContext);
                        BAv1.ActionDate  = DateTime.Now;
                        db.BanksysBankActions.Add(BAv1);
                        db.SaveChanges();
                        trans.Commit();

                        return(StatusCode(405, result.responseString));
                    }

                    var CashInUpdate = (from p in db.CashIn
                                        where p.CashInId == CashInId &&
                                        (p.Status == 1)
                                        select p).SingleOrDefault();

                    if (CashInUpdate == null)
                    {
                        trans.Rollback();
                        return(BadRequest("خطأ بيانات التعبئة غير موجودة"));
                    }


                    CashInUpdate.Status         = 2;
                    CashInUpdate.LastModifiedOn = DateTime.Now;
                    CashInUpdate.LastModifiedBy = (int)userId;
                    CashInUpdate.RefrenceNumber = result.refernceWallet;
                    db.SaveChanges();


                    BanksysBankActions BA = new BanksysBankActions();
                    BA.ActionType  = 4;
                    BA.Description = "إنشاء عملية نقدية - تأكيد نهائي";
                    BA.UserId      = userId;
                    BA.CashInId    = CashInId;
                    BA.BranchId    = this.help.GetCurrentBranche(HttpContext);
                    BA.UserType    = this.help.GetCurrentUserType(HttpContext);
                    BA.ActionDate  = DateTime.Now;
                    db.BanksysBankActions.Add(BA);
                    db.SaveChanges();
                    trans.Commit();

                    return(Ok("تم تعديل بينات المشترك بنجاح"));
                }
                catch (Exception e)
                {
                    var CashInUpdatev1 = (from p in db.CashIn
                                          where p.CashInId == CashInId &&
                                          (p.Status == 1)
                                          select p).SingleOrDefault();

                    if (CashInUpdatev1 == null)
                    {
                        trans.Rollback();
                        return(BadRequest("خطأ بيانات التعبئة غير موجودة"));
                    }

                    CashInUpdatev1.Status         = 0;
                    CashInUpdatev1.LastModifiedOn = DateTime.Now;
                    CashInUpdatev1.LastModifiedBy = (int)userId;
                    db.SaveChanges();

                    BanksysBankActions BAv1 = new BanksysBankActions();
                    BAv1.ActionType  = 4;
                    BAv1.Description = "رفض عملية نقدية - تم الرفض من النظام السبب : " + e.InnerException;
                    BAv1.UserId      = userId;
                    BAv1.CashInId    = CashInId;
                    BAv1.BranchId    = this.help.GetCurrentBranche(HttpContext);
                    BAv1.UserType    = this.help.GetCurrentUserType(HttpContext);
                    BAv1.ActionDate  = DateTime.Now;
                    db.BanksysBankActions.Add(BAv1);
                    db.SaveChanges();
                    trans.Commit();
                    trans.Rollback();
                    return(StatusCode(500, e.Message));
                }
            }
        }
コード例 #3
0
        public IActionResult AddCashIn([FromBody] CashInObj CashInData)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    if (CashInData == null)
                    {
                        transaction.Rollback();
                        return(BadRequest("حذث خطأ في ارسال البيانات الرجاء إعادة الادخال"));
                    }

                    var userId = this.help.GetCurrentUser(HttpContext);

                    if (userId <= 0)
                    {
                        transaction.Rollback();
                        return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                    }

                    var UserType = this.help.GetCurrentUserType(HttpContext);
                    if (UserType == 1)
                    {
                        transaction.Rollback();
                        return(StatusCode(401, "عفوا لايمكن اضافة قيمة نقدية الا عن طريق المصرف"));
                    }


                    CashIn Cash = new CashIn();
                    Cash.Status        = 1;
                    Cash.Refrence      = 3;
                    Cash.Valuedigits   = CashInData.Valuedigits;
                    Cash.DepositType   = 3;
                    Cash.Description   = CashInData.description;
                    Cash.NumInvoiceDep = CashInData.NumInvoiceDep;
                    Cash.PersonalId    = CashInData.PersonalId;
                    //Cash.BankId =(int) db.BanksysBranch.Where(x => x.BranchId == this.help.GetCurrentBranche(HttpContext)).SingleOrDefault().BankId;
                    db.CashIn.Add(Cash);
                    db.SaveChanges();

                    BanksysBankActions BA = new BanksysBankActions();
                    BA.ActionType  = 3;
                    BA.Description = "إنشاء عملية نقدية - تأكيد مبدئي";
                    BA.UserId      = userId;
                    BA.CashInId    = Cash.CashInId;
                    BA.BranchId    = this.help.GetCurrentBranche(HttpContext);
                    BA.UserType    = UserType;
                    BA.ActionDate  = DateTime.Now;
                    db.BanksysBankActions.Add(BA);
                    db.SaveChanges();
                    transaction.Commit();

                    return(Ok("لقد قمت بتسـجيل بيانات العملية النقدية"));
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    return(StatusCode(500, e.Message));
                }
            }
        }