public async Task <IActionResult> UpdatePurchases([FromBody] PurchasesVM purchasesView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Bad purchases"));
            }
            try
            {
                var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier));
                if (userId != purchasesView.purchases.UserID)
                {
                    return(BadRequest("You do not have permission to edit this data"));
                }

                //purchasesView.purchases.UserID = userId;
                //purchasesView.purchases.StatusID = EnumsType.PurchasesStatus.NewRequest;
                //purchasesView.purchases.CreatedDate = DateTime.Now.ToShortDateString();

                var obj = await _purchasesRepository.updatePurchases(purchasesView);

                // await _emailsender.SendEmailAsync(user.Email, "Techhowdy.com - Confirm Your Email", "Please confirm your e-mail by clicking this link: <a href=\"" + callbackUrl + "\">click here</a>");

                return(Ok(obj));
            }
            catch (Exception ex)
            {
                //ModelState.AddModelError("error", ex.Message);
                return(BadRequest(ex.Message));
            }
        }
Esempio n. 2
0
        public async Task <PurchasesVM> GetPurchase(int pPurchaseID, int UserID)
        {
            PurchasesVM obj = new PurchasesVM();

            using (SqlConnection con = new SqlConnection(_configuration.GetConnectionString("DatabaseConnection")))
            {
                var paramater1 = new DynamicParameters();
                paramater1.Add("@PurchaseID", pPurchaseID);
                paramater1.Add("@UserID", UserID);

                Purchases purchases = await con.QueryFirstAsync <Purchases>("[ESS].LoadPurchasesInfo", paramater1, null, 0, commandType : CommandType.StoredProcedure);

                var paramater2 = new DynamicParameters();
                paramater2.Add("@PurchaseID", pPurchaseID);

                IEnumerable <PurchasesDetails> purchasesDetails = await con.QueryAsync <PurchasesDetails>("[ESS].LoadPurchasesDetailsInfo", paramater2, null, 0, commandType : CommandType.StoredProcedure);

                IEnumerable <PurchasesStageTransactionModel> purchasesStageTransactionModels = await con.QueryAsync <PurchasesStageTransactionModel>("[ESS].LoadPurchasesStageTransactionInfo", paramater2, null, 0, commandType : CommandType.StoredProcedure);

                //IEnumerable<PurchaseOffer> purchaseOffers = await con.QueryAsync<PurchaseOffer>("[ESS].LoadPurchaseOfferInfo", paramater2, null, 0, commandType: CommandType.StoredProcedure);

                obj.purchases        = purchases;
                obj.purchasesDetails = purchasesDetails.ToList();
                obj.purchasesStageTransactionModels = purchasesStageTransactionModels.ToList();
                //obj.purchaseOffers = purchaseOffers.ToList();
                return(obj);
            }
        }
Esempio n. 3
0
        public async Task <PurchasesVM> updatePurchases(PurchasesVM PurchasesVM)
        {
            _context.Purchases.Update(PurchasesVM.purchases);

            foreach (PurchasesDetails dtl in PurchasesVM.purchasesDetails)
            {
                dtl.PurchaseID         = PurchasesVM.purchases.PurchaseID;
                dtl.PurchasesDetailsID = 0;
                if (PurchasesVM.purchases.PurchaseID < dtl.ItemTypeID)
                {
                    PurchasesVM.purchases.TypeID = dtl.ItemTypeID;
                }
            }

            List <PurchasesDetails> Oldresult = _context.PurchasesDetails.Where(p => p.PurchaseID == PurchasesVM.purchases.PurchaseID).ToList();

            _context.RemoveRange(Oldresult);

            if (PurchasesVM.purchasesDetails != null)
            {
                await _context.AddRangeAsync(PurchasesVM.purchasesDetails);
            }

            var result = await _context.SaveChangesAsync();

            AttachmentConcrete attachmentConcrete = new AttachmentConcrete(_context, _configuration);

            if (PurchasesVM.attachments != null)
            {
                foreach (Attachment dtl in PurchasesVM.attachments)
                {
                    Attachment obj = _context.Attachments.FirstOrDefault(p => p.AttachmentID == dtl.AttachmentID);
                    obj.ReferenceID = PurchasesVM.purchases.PurchaseID;
                    await attachmentConcrete.UpdateAttachment(obj);
                }
            }

            if (result > 0)
            {
                return(PurchasesVM);
            }
            else
            {
                throw new Exception("Not Update");
            }
        }
        public async Task <IActionResult> Get([FromRoute] int PurchaseID)
        {
            var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier));

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //IEnumerable<Purchases> Purchase1 = await _purchasesRepository.GetWithDetailsAsync(p => p.PurchaseID == PurchaseID);
            PurchasesVM PurchaseVM = await _purchasesRepository.GetPurchase(PurchaseID, userId);

            if (PurchaseVM == null)
            {
                return(BadRequest("Not Found Requset by Id " + PurchaseID));
            }
            return(Ok(PurchaseVM));
        }
        public async Task <IActionResult> Get([FromRoute] string PurchaseNumber)
        {
            var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier));

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Purchases Purchase = _purchasesRepository.Find(p => p.PurchaseNumber == PurchaseNumber);

            if (Purchase == null)
            {
                return(BadRequest("Not Found Requset by Number " + PurchaseNumber));
            }
            PurchasesVM PurchaseVM = await _purchasesRepository.GetPurchase(Purchase.PurchaseID, userId);

            return(Ok(PurchaseVM));
        }
        public async Task <IActionResult> CreatePurchases([FromBody] PurchasesVM purchasesView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Bad purchases"));
            }
            try
            {
                var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier));
                purchasesView.purchases.UserID         = userId;
                purchasesView.purchases.StatusID       = EnumsType.PurchasesStatus.NewRequest;
                purchasesView.purchases.PurchaseNumber = "-1";
                purchasesView.purchases.CreatedDate    = DateTime.Now.ToShortDateString();

                var RoleName = this.User.FindFirstValue(ClaimTypes.Role);
                if (RoleName.ToUpper() == "CLIENT")
                {
                    return(BadRequest("You do not have permission to Add New Request"));
                }
                if (_appSettings.IsNeedAttachmentsWithRequest == "1")
                {
                    if (purchasesView.attachments == null || purchasesView.attachments.Count == 0)
                    {
                        return(BadRequest("You Must Enter Attachments"));
                    }
                    if (purchasesView.attachments == null || purchasesView.attachments.Count < 2)
                    {
                        return(BadRequest("You Must Enter Two Or More Attachments"));
                    }
                }
                var obj = await _purchasesRepository.savePurchases(purchasesView);

                // await _emailsender.SendEmailAsync(user.Email, "Techhowdy.com - Confirm Your Email", "Please confirm your e-mail by clicking this link: <a href=\"" + callbackUrl + "\">click here</a>");

                return(Ok(obj));
            }
            catch (Exception ex)
            {
                //ModelState.AddModelError("error", ex.Message);
                return(BadRequest(ex.Message));
            }
        }
Esempio n. 7
0
        public async Task <PurchasesVM> savePurchases(PurchasesVM PurchasesVM)
        {
            await _context.Purchases.AddAsync(PurchasesVM.purchases);

            foreach (PurchasesDetails dtl in PurchasesVM.purchasesDetails)
            {
                dtl.PurchaseID = PurchasesVM.purchases.PurchaseID;
                if (PurchasesVM.purchases.PurchaseID < dtl.ItemTypeID)
                {
                    PurchasesVM.purchases.TypeID = dtl.ItemTypeID;
                }
            }

            if (PurchasesVM.purchasesDetails != null)
            {
                await _context.AddRangeAsync(PurchasesVM.purchasesDetails);
            }

            await _context.SaveChangesAsync();

            AttachmentConcrete attachmentConcrete = new AttachmentConcrete(_context, _configuration);

            if (PurchasesVM.attachments != null)
            {
                foreach (Attachment dtl in PurchasesVM.attachments)
                {
                    Attachment obj = _context.Attachments.FirstOrDefault(p => p.AttachmentID == dtl.AttachmentID);
                    obj.ReferenceID = PurchasesVM.purchases.PurchaseID;
                    await attachmentConcrete.UpdateAttachment(obj);
                }
            }


            await _context.SaveChangesAsync();

            return(PurchasesVM);
        }