Ejemplo n.º 1
0
    public List <OfferMaster> GetAllOffers()
    {
        List <OfferMaster> lstorderdetails = new List <OfferMaster>();
        OfferMaster        objod;

        try
        {
            db.OpenConn();

            string Date = DateTime.Now.ToString("dd-MMM-yyyy");

            SqlCommand cmd = new SqlCommand("select  * from OfferMaster where validupto <='" + Date + "'", db.conn);
            //  cmd.Parameters.AddWithValue("@OrderDetailsID", OrderDetailsID);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                objod             = new OfferMaster();
                objod.OfferID     = long.Parse(dr["OfferID"].ToString());
                objod.OfferType   = dr["OfferType"].ToString();
                objod.OfferAmount = dr["OfferAmount"].ToString();
                objod.ValidUpto   = DateTime.Parse(dr["ValidUpto"].ToString());
                objod.OfferCode   = dr["OfferCode"].ToString();
                lstorderdetails.Add(objod);
            }
            dr.Close();
            db.CloseConn();
        }
        catch (Exception ex)
        {
            db.CloseConn();
            throw ex;
        }
        return(lstorderdetails);
    }
Ejemplo n.º 2
0
        public ActionResult AddNewSupplier(int fileid, int lineitemid, string lineitemimpa, string supplierid, string price, int vat, string currency, string remark)
        {
            try
            {
                var lineitem    = _context.LineItems.FirstOrDefault(l => l.Id == lineitemid);
                int referanceno = lineitem.ReferanceNumberId;

                var sup = _context.Suppliers.FirstOrDefault(s => s.Id == supplierid);


                //check master and add supplier

                var supplier = new LineItemSupplier
                {
                    LineItemId   = lineitemid,
                    SupplierId   = sup.Id,
                    SupplierName = sup.SupplierName
                };

                _context.LineItemSuppliers.Add(supplier);
                _context.SaveChanges();



                int masterid = 0;
                var offerid  = GetStringSha256Hash(fileid + "/-/" + sup.Id);
                var offer    = _context.OfferMasters.FirstOrDefault(x => x.OfferId == offerid);


                //offer master save
                if (offer == null)
                {
                    var offermaster = new OfferMaster
                    {
                        OfferId    = offerid,
                        FileId     = fileid,
                        SupplierId = sup.Id
                    };

                    _context.OfferMasters.Add(offermaster);
                    _context.SaveChanges();

                    masterid = offermaster.Id;
                }
                else
                {
                    masterid = offer.Id;
                }


                // suplineitem
                var supplierLineItem = new SupplierPriceLineItem
                {
                    OfferMasterId = masterid,
                    LineItemId    = supplier.LineItemId,
                    CreatedDate   = DateTime.Now.Date,
                    Vat           = vat,
                    Comment       = remark,
                    SupplierPrice = Convert.ToDecimal(price),
                    Currency      = currency
                };

                _context.SupplierPriceLineItems.Add(supplierLineItem);
                _context.SaveChanges();


                // supplier select
                var lineitemsupplier = _context.ViewSupplierPriceLineItems.Include("OfferMaster").FirstOrDefault(s => s.Id == supplierLineItem.Id);

                if (lineitemsupplier != null)
                {
                    lineitem.SelectedSupplierName            = lineitemsupplier.SupplierName;
                    lineitem.SelectedSupplierCurrency        = lineitemsupplier.Currency;
                    lineitem.SelectedSupplierId              = lineitemsupplier.OfferMaster.SupplierId;
                    lineitem.SelectedSupplierPrice           = lineitemsupplier.SupplierPrice;
                    lineitem.SelectedSupplierRemark          = lineitemsupplier.Comment;
                    lineitem.SelectedSupplierCalculatedPrice = lineitemsupplier.RealPrice;
                    lineitem.IsWareHouseSelected             = false;

                    _context.SaveChanges();
                }


                return(Json(true));
            }
            catch (Exception e)
            {
                return(Json(false));
            }
        }
Ejemplo n.º 3
0
        public async Task AddDefinedSuppliers(string impa, int itemid, int fileid)
        {
            try
            {
                var suppliers = _context.LineItemSuppliers.Where(x => x.LineItem.Impa == impa).GroupBy(x => x.SupplierId)
                                .Select(g => new
                {
                    g.FirstOrDefault().SupplierId,
                    g.FirstOrDefault().SupplierName
                })
                                .ToListAsync();


                foreach (var sup in await suppliers)
                {
                    var supplier = new LineItemSupplier
                    {
                        LineItemId   = itemid,
                        SupplierId   = sup.SupplierId,
                        SupplierName = sup.SupplierName
                    };

                    _context.LineItemSuppliers.Add(supplier);
                    _context.SaveChanges();



                    int masterid = 0;
                    var offerid  = GetStringSha256Hash(fileid + "/-/" + sup.SupplierId);
                    var offer    = _context.OfferMasters.FirstOrDefault(x => x.OfferId == offerid);


                    //offer master save
                    if (offer == null)
                    {
                        var offermaster = new OfferMaster
                        {
                            OfferId    = offerid,
                            FileId     = fileid,
                            SupplierId = sup.SupplierId
                        };

                        masterid = offermaster.Id;
                        _context.OfferMasters.Add(offermaster);
                        _context.SaveChanges();
                    }
                    else
                    {
                        masterid = offer.Id;
                    }


                    // suplineitem


                    var lastpricelist = await _context.SupplierPriceLineItems.Include("OfferMaster").Include("LineItem").Where(l =>
                                                                                                                               l.OfferMaster.SupplierId == supplier.SupplierId &&
                                                                                                                               l.LineItem.Impa == supplier.LineItem.Impa && l.SupplierPrice != 0).OrderBy(l => l.CreatedDate).Distinct().ToListAsync().ConfigureAwait(true);


                    var supplierLineItem = new SupplierPriceLineItem
                    {
                        OfferMasterId = masterid,
                        LineItemId    = supplier.LineItemId,
                        CreatedDate   = DateTime.Now.Date
                    };

                    if (lastpricelist.Count > 0)
                    {
                        var lastoffer = lastpricelist[0];
                        supplierLineItem.Currency      = lastoffer.Currency;
                        supplierLineItem.Vat           = lastoffer.Vat;
                        supplierLineItem.Comment       = lastoffer.Comment;
                        supplierLineItem.SupplierPrice = lastoffer.SupplierPrice;
                        supplierLineItem.OldPriceDate  = lastoffer.CreatedDate;
                        supplierLineItem.IsOldPrice    = true;
                    }

                    _context.SupplierPriceLineItems.Add(supplierLineItem);
                    await _context.SaveChangesAsync();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        public ActionResult SendMails(Array supplierids, int fileId, Array allsuppliers)
        {
            if (supplierids.Length > 0 && fileId != 0)
            {
                var filedetail = _context.Files.FirstOrDefault(x => x.Id == fileId);
                foreach (var supplierid in supplierids)
                {
                    var supplier = _context.Suppliers.FirstOrDefault(x => x.Id == (string)supplierid);
                    int logid    = 0;
                    if (supplier == null)
                    {
                        continue;
                    }
                    {
                        try
                        {
                            var email = supplier.Mail;

                            //send mail and log (file/ref/sup-id/date/user)
                            // log e-mail sending

                            var emaillog = new EmailLog
                            {
                                Description = "Approval Stage",
                                FileId      = fileId,
                                Name        = supplier.SupplierName,
                                ToAdress    = email,
                                State       = "Sending"
                            };
                            _context.EmailLogs.Add(emaillog);
                            _context.SaveChanges();
                            logid = emaillog.Id;

                            var subject  = "ADAMAR FIYAT TALEBI / " + filedetail.FileNumber;
                            var toadress = new MailAddress("*****@*****.**");

                            if (email.Length > 2)
                            {
                                toadress = new MailAddress(email);
                            }

                            var ccAddresses =
                                new List <MailAddress> {
                                new MailAddress("*****@*****.**")
                            };
                            var body =
                                $"<strong> Sayın {supplier.SupplierName}  Yetkilisi </strong> Aşağıda ki butona tıklayarak açılan sayfada fiyat vermeniz Rica olunur. </br> Not: Sertifikası mevcut ürünlerin sertifiklarının en kısa zamanda tarafımıza gönderilmesini rica ediyoruz.  ";
                            var link = string.Format(@"http://82.222.153.50:5559//supplieroffer/offer/{0}",
                                                     GetStringSha256Hash(fileId + "/-/" + supplier.Id));

                            var temp      = new EmailTemplates();
                            var eMailbody =
                                temp.e_mailbody_fiyat_isteme(subject, body, link, User.Identity.GetUserName(), "*****@*****.**");
                            var t = Task.Run(async() =>
                            {
                                await _emailer.SendEmail(subject, eMailbody, toadress, ccAddresses, logid);
                            });

                            System.Threading.Thread.Sleep(2100);

                            emaillog.State = "Sent";
                            _context.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            var errorMessage = e.Message;
                            var emailLog     = _context.EmailLogs.FirstOrDefault(x => x.Id == logid);
                            if (emailLog != null)
                            {
                                emailLog.State = "Error:  " + errorMessage;
                            }
                            _context.SaveChanges();
                        }
                    }
                }

                //create suppliers records with price
                var reflist = _context.ReferanceNumbers
                              .Where(r => r.IsDeleted == false)
                              .Where(f => f.FileId == fileId)
                              .Where(f => f.Stage == 3).Select(x => x.Id).ToList();

                int masterid;

                foreach (var allsupplier in allsuppliers)
                {
                    var supplier = _context.Suppliers.FirstOrDefault(x => x.Id == (string)allsupplier);
                    if (supplier == null)
                    {
                        continue;
                    }
                    {
                        var offerid = GetStringSha256Hash(fileId + "/-/" + supplier.Id);
                        var offer   = _context.OfferMasters.FirstOrDefault(x => x.OfferId == offerid);
                        //offer master save
                        if (offer == null)
                        {
                            var offermaster = new OfferMaster
                            {
                                OfferId    = offerid,
                                FileId     = fileId,
                                SupplierId = supplier.Id
                            };

                            _context.OfferMasters.Add(offermaster);
                            _context.SaveChanges();
                        }
                    }
                }


                //supplierline item create

                try
                {
                    foreach (var allsupplier in allsuppliers)
                    {
                        var supplier = _context.Suppliers.FirstOrDefault(x => x.Id == (string)allsupplier);

                        var lineitemssupplier = _context.LineItemSuppliers.Include("LineItem")
                                                .Where(l => l.SupplierId == supplier.Id && reflist.Contains(l.LineItem.ReferanceNumber.Id)).ToList();

                        var offerid = GetStringSha256Hash(fileId + "/-/" + supplier.Id);
                        var offer   = _context.OfferMasters.FirstOrDefault(x => x.OfferId == offerid);
                        masterid = offer.Id;

                        foreach (var lineItemSupplier in lineitemssupplier)
                        {
                            var masterid1 = masterid;
                            var t         = Task.Run(async() =>
                            {
                                await Createsupplierlineitems(lineItemSupplier, masterid1);
                            });
                            t.Wait();
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }



                foreach (var refid in reflist)
                {
                    var referance = _context.ReferanceNumbers.FirstOrDefault(r => r.Id == refid);
                    if (referance != null)
                    {
                        referance.Stage = 4;
                        _context.SaveChanges();
                    }
                }


                return(Json(true));

                //stages will be set to 4
            }
            return(Json(false));
        }