예제 #1
0
        public ActionResult DeleteConfirmed(int?id)
        {
            CodeReason codeReason = db.CodeReason
                                    .Where(p => p.SysId == id)
                                    .FirstOrDefault();

            db.CodeReason.Remove(codeReason);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #2
0
 public ActionResult Edit([Bind(Include = "SysId,Vender,ProductType,ReasonCode,CodeType,AllowShip,ProcessType,EngDesc,ChtDesc,ChsDesc,Duty,Outsourcing,DefaultUsed,DefaultEcn,RequireRemark,RequireRelabel,RequireSwapInfo,RequireCustSn,RequireMfgSn,RequireBios,RequierAttn,Active,CreateDate,CreateUser,ModiDate,ModiUser")] CodeReason codeReason)
 {
     if (ModelState.IsValid)
     {
         db.Entry(codeReason).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(codeReason));
 }
예제 #3
0
        public async Task <CodeModel> CreateEmailCode(string email, CodeReason codeReason)
        {
            var props = _codeConfiguration.Data[Enum.GetName(typeof(CodeReason), codeReason)];

            return(await _codeRepository.Create(new CodeModel
            {
                Email = email,
                Code = GenerateCode(props.CodeLength),
                ReasonType = codeReason,
                DateExpiration = DateTime.UtcNow.AddMinutes(props.LifeTime)
            }));
        }
예제 #4
0
        public async Task <bool> CheckEmailCodeExists(string email, string code, CodeReason codeReason, bool deactivate = true)
        {
            var dbCode = await _codeRepository.GetByEmail(email, code, codeReason);

            if (deactivate)
            {
                dbCode.IsActive = false;
                await _codeRepository.Update(dbCode);
            }

            return(dbCode?.IsActive == true && dbCode.DateExpiration > DateTime.UtcNow);
        }
예제 #5
0
        // GET: CodeReasons/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CodeReason codeReason = db.CodeReason.Find(id);

            if (codeReason == null)
            {
                return(HttpNotFound());
            }
            return(View(codeReason));
        }
예제 #6
0
        public async Task <bool> CheckPhoneCodeExists(string phone, string code, CodeReason codeReason, bool deactivate = true)
        {
            var dbCode = await _codeRepository.GetByPhone(phone, code, codeReason);

            var result = dbCode?.IsActive == true && dbCode.DateExpiration > DateTime.UtcNow;

            if (dbCode != null && deactivate)
            {
                dbCode.IsActive = false;
                await _codeRepository.Update(dbCode);
            }

            return(result);
        }
예제 #7
0
        // GET: CodeReasons/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CodeReason codeReason = db.CodeReason
                                    .Where(p => p.SysId == id)
                                    .FirstOrDefault();

            if (codeReason == null)
            {
                return(HttpNotFound());
            }
            return(View(codeReason));
        }
예제 #8
0
 public async Task <CodeModel> GetByEmail(string email, string code, CodeReason codeReason)
 {
     using IDbConnection db = new NpgsqlConnection(ConnectionString);
     return(await db.QueryFirstOrDefaultAsync <CodeModel>(
                @$ "
             {GetBaseSelectQuery()} 
             WHERE Email = @Email
                 AND Code = @Code
                 AND ReasonId = @ReasonId                        
         ",
                new
     {
         Email = email,
         Code = code,
         CodeReason = codeReason
     }
                ));
 }
예제 #9
0
 public async Task <CodeModel> GetByPhone(string phone, string code, CodeReason codeReason)
 {
     using IDbConnection db = new NpgsqlConnection(ConnectionString);
     return(await db.QueryFirstOrDefaultAsync <CodeModel>(
                @$ "
             {GetBaseSelectQuery()} 
             WHERE Phone = @Phone
                 AND Code = @Code
                 AND ReasonId = @ReasonId                        
         ",
                new
     {
         Phone = phone,
         Code = code,
         CodeReason = codeReason
     }
                ));
 }
예제 #10
0
        public ActionResult Create([Bind(Include = "Vender,ProductType,ReasonCode,CodeType,AllowShip,ProcessType,EngDesc,ChtDesc,ChsDesc,Duty,Outsourcing,DefaultUsed,DefaultEcn,RequireRemark,RequireRelabel,RequireSwapInfo,RequireCustSn,RequireMfgSn,RequireBios,RequierAttn")] CodeReasonCreateViewModel codeReasonViewModel)
        {
            if (ModelState.IsValid)
            {
                CodeReason codeReason = new CodeReason()
                {
                    Vender          = codeReasonViewModel.Vender,
                    ProductType     = codeReasonViewModel.ProductType,
                    ReasonCode      = codeReasonViewModel.ReasonCode,
                    CodeType        = codeReasonViewModel.CodeType,
                    AllowShip       = codeReasonViewModel.AllowShip,
                    ProcessType     = codeReasonViewModel.ProcessType,
                    EngDesc         = codeReasonViewModel.EngDesc,
                    ChtDesc         = codeReasonViewModel.ChsDesc,
                    ChsDesc         = codeReasonViewModel.ChsDesc,
                    Duty            = codeReasonViewModel.Duty,
                    Outsourcing     = codeReasonViewModel.Outsourcing,
                    DefaultUsed     = codeReasonViewModel.DefaultUsed,
                    DefaultEcn      = codeReasonViewModel.DefaultEcn,
                    RequireRemark   = codeReasonViewModel.RequireRemark,
                    RequireRelabel  = codeReasonViewModel.RequireRelabel,
                    RequireSwapInfo = codeReasonViewModel.RequireSwapInfo,
                    RequireCustSn   = codeReasonViewModel.RequireCustSn,
                    RequireMfgSn    = codeReasonViewModel.RequireMfgSn,
                    RequireBios     = codeReasonViewModel.RequireBios,
                    RequierAttn     = codeReasonViewModel.RequierAttn,
                    Active          = "Y",
                    CreateDate      = DateTime.Now,
                    CreateUser      = "******"
                };

                db.CodeReason.Add(codeReason);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View());
        }