Example #1
0
        public static void generateInvoice()
        {
            int idx = idxH_Trans;
            H_Trans_ItemModel hti = new H_Trans_ItemModel();
            DataRow           row = hti.Table.Select($"ID ='{list_htrans[idx].ID}'").FirstOrDefault();

            if (row["STATUS"].ToString() == "P")
            {
                CustomerInvoice customerInvoice = new CustomerInvoice();
                ReportView      rv = new ReportView(customerInvoice);

                rv.setParam("kodeH_Trans", row["KODE"].ToString());
                if (row["ID_PROMO"].ToString() == "")
                {
                    rv.setParam("kodePromo", "-");
                }
                else
                {
                    PromoModel pm       = new PromoModel();
                    DataRow    rowPromo = pm.Table.Select($"ID = '{row["ID_PROMO"]}'").First();
                    rv.setParam("kodePromo", rowPromo["KODE"].ToString());
                }
                string path = (ImageHelper.getDebugPath() + "\\Resource\\Items\\");
                rv.setParam("imagePath", path);
                rv.ShowDialog();
            }
            else
            {
                MessageBox.Show("Transaksi yang belum dibayar!");
            }
        }
Example #2
0
        private async Task UpsertPromoCodeAsync(PromoModel promo)
        {
            if (promo != null)
            {
                var existingPromo = await _context.Promos.FirstOrDefaultAsync(x => x.Id == promo.Id || x.Code == promo.Code);

                if (existingPromo != null)
                {
                    existingPromo.ApplicableParts    = promo.ApplicableParts;
                    existingPromo.Code               = promo.Code;
                    existingPromo.DiscountAmount     = promo.DiscountAmount;
                    existingPromo.DiscountPercentage = promo.DiscountPercentage;
                    existingPromo.Enabled            = promo.Enabled;
                    existingPromo.ExpirationDate     = promo.ExpirationDate;
                    existingPromo.TimesUsed          = promo.TimesUsed;
                    existingPromo.UsageLimit         = promo.UsageLimit;
                    _context.Promos.Update(existingPromo);
                }
                else
                {
                    _context.Promos.Add(promo);
                }

                await _context.SaveChangesAsync();
            }
        }
Example #3
0
        public PromoModel GeneratePromoModel()
        {
            PromoModel model = new PromoModel();

            try
            {
                using (VenturadaDataContext vdc = new VenturadaDataContext())
                {
                    var tableList = from p in vdc.Promos.ToList()
                                    orderby p.PromoId ascending
                                    select p;
                    if (tableList != null)
                    {
                        if (tableList.FirstOrDefault() != null)
                        {
                            model                  = new PromoModel();
                            model.PromoId          = tableList.FirstOrDefault().PromoId;
                            model.PromoTitle       = tableList.FirstOrDefault().PromoTitle;
                            model.PromoDescription = tableList.FirstOrDefault().PromoDescription;
                            model.ImageString      = tableList.FirstOrDefault().ImageString;
                        }
                    }

                    return(model);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #4
0
        public PromoModel GeneratePromoModel()
        {
            PromoModel model = new PromoModel();
            try
            {
                using (VenturadaDataContext vdc = new VenturadaDataContext())
                {
                    var tableList = from p in vdc.Promos.ToList()
                                    orderby p.PromoId ascending
                                    select p;
                    if (tableList != null)
                    {
                        if (tableList.FirstOrDefault() != null)
                        {
                            model = new PromoModel();
                            model.PromoId = tableList.FirstOrDefault().PromoId;
                            model.PromoTitle = tableList.FirstOrDefault().PromoTitle;
                            model.PromoDescription = tableList.FirstOrDefault().PromoDescription;
                            model.ImageString = tableList.FirstOrDefault().ImageString;
                        }

                    }

                    return model;

                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Example #5
0
 private void btnAdd_Click(object sender, RoutedEventArgs e)
 {
     if (cmbPromos.Visibility != Visibility.Hidden)
     {
         if (verifySelection())
         {
             PromoModel promo = cmbPromos.SelectedItem as PromoModel;
             addServiceToPromo(promo.ID);
             //label.Content = "Promo Name: " + promo.PromoName;
             loadDataGridServices(promo.ID);
         }
     }
     else
     {
         ServiceTypeModel selectService = cmbServices.SelectedItem as ServiceTypeModel;
         if (selectService != null)
         {
             addServiceToPromo(insertedPromoID);
             loadDataGridServices(insertedPromoID);
         }
         else
         {
             MessageBox.Show("Please select Service!");
         }
     }
 }
Example #6
0
        public static void initPromotion(ComboBox comboBox, TextBlock discount, TextBlock tbError)
        {
            tbDiscount       = discount;
            tbErrorPromotion = tbError;
            PromoModel pm = new PromoModel();

            list_promo = new List <Promo>();
            foreach (DataRow row in pm.Table.Select("STATUS = '1'"))
            {
                Promo p = new Promo(
                    id: row["ID"].ToString(),
                    kode: row["KODE"].ToString(),
                    potongan: Convert.ToInt32(row["POTONGAN"]),
                    potonganMax: Convert.ToInt32(row["POTONGAN_MAKS"]),
                    hargaMin: Convert.ToInt32(row["HARGA_MIN"]),
                    jenisPotongan: row["JENIS_POTONGAN"].ToString(),
                    idJenisPromo: Convert.ToInt32(row["ID_JENIS_PROMO"]),
                    tanggalAwal: Utility.dateParse(row["TANGGAL_AWAL"].ToString()),
                    tanggalAkhir: Utility.dateParse(row["TANGGAL_AKHIR"].ToString()),
                    status: row["STATUS"].ToString()
                    );
                list_promo.Add(p);
            }

            comboBox.ItemsSource       = list_promo;
            comboBox.SelectedValuePath = "ID";
        }
Example #7
0
 public PromoViewModel()
 {
     cm          = new PromoModel();
     forid       = new PromoModel();
     forcb       = new PromoModel();
     masaberlaku = new PromoModel();
     reload();
 }
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var session = HttpContext.Session.GetString(sessionKey);
            var user    = await _userManager.GetUserAsync(HttpContext.User);

            if (session == null)
            {
                return(View(new ShoppingCartViewModel()));
            }
            else
            {
                var cart = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <ShoppingCartViewModel>(session));

                UserReferral referralCookie = null;
                PromoModel   refPromo       = null;
                if (HttpContext.Request.Cookies["Referral"] != null)
                {
                    referralCookie = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <UserReferral>(HttpContext.Request.Cookies["Referral"]));

                    if (referralCookie != null)
                    {
                        refPromo = await _context.Promos.FirstOrDefaultAsync(x => x.Code == referralCookie.ReferralCode);
                    }
                }

                if (user != null)
                {
                    var userRef = await _context.UserReferral.FirstOrDefaultAsync(x => x.UserId == user.Id);

                    cart.UserReferral = userRef;
                }

                if (TempData["StoreCredit"] != null)
                {
                    decimal StoreCredit = decimal.Parse(TempData["StoreCredit"].ToString());
                    decimal total       = 0m;
                    foreach (var product in cart.Products)
                    {
                        total += product.Price;
                    }

                    decimal newTotal = ((total - StoreCredit) <= 0) ? 0.01m : (total - StoreCredit);
                    cart.NewTotal = newTotal;
                }
                else if (TempData["RefPromo"] == null && refPromo != null)
                {
                    if ((user != null && referralCookie.UserId != user.Id) || user == null)
                    {
                        return(RedirectToAction("PromoCode", "ShoppingCart", new { promoCode = refPromo.Code }));
                    }
                }

                return(View(cart));
            }
        }
Example #9
0
        public async Task <IActionResult> UpsertPromo(PromoModel promo, IEnumerable <int> PartIds)
        {
            promo.Code       = promo.Code.ToUpper();
            promo.UsageLimit = (promo.UsageLimit != null && promo.UsageLimit == 0) ? null : promo.UsageLimit;
            if (promo.ExpirationDate.HasValue)
            {
                promo.ExpirationDate = promo.ExpirationDate.Value.ToUniversalTime();
            }
            promo.ApplicableParts = new List <ProductModel>();
            if (PartIds.Count() > 0)
            {
                foreach (var id in PartIds)
                {
                    var part = await _context.Products.Include(x => x.Brand)
                               .Include(x => x.CarProducts).Include(x => x.Images)
                               .FirstOrDefaultAsync(x => x.PartId == id);

                    promo.ApplicableParts.Add(part);
                }
            }

            var existing = await _context.Promos.Include(x => x.ApplicableParts).FirstOrDefaultAsync(x => x.Id == promo.Id);

            if (existing != null)
            {
                existing.Code               = promo.Code;
                existing.Enabled            = promo.Enabled;
                existing.ExpirationDate     = promo.ExpirationDate;
                existing.ApplicableParts    = promo.ApplicableParts;
                existing.DiscountPercentage = promo.DiscountPercentage;
                existing.DiscountAmount     = promo.DiscountAmount;
                existing.UsageLimit         = promo.UsageLimit;
                TempData["Message"]         = "Promo successfully updated.";
            }
            else
            {
                if (await _context.Promos.AnyAsync(x => x.Code.ToUpper() == promo.Code))
                {
                    TempData["Message"] = $"A promo already exists with the code: {promo.Code.ToUpper()}";
                    ModelState.AddModelError("Promo Code", "Promo code already exists.");
                    return(RedirectToAction("UpsertPromo"));
                }

                _context.Promos.Add(promo);
                TempData["Message"] = "Promo successfully added.";
            }
            await _context.SaveChangesAsync();

            if (promo.Id == 0)
            {
                return(RedirectToAction("ManagePromos", "Admin"));
            }
            return(RedirectToAction("UpsertPromo", new { id = promo.Id }));
        }
Example #10
0
 public ActionResult Details(Guid?promotionId)
 {
     if (promotionId.HasValue)
     {
         this.AccountBase.SetupActionAccount();
         var pm = new PromoModel(this.AccountBase, promotionId.Value);
         return(View(pm));
     }
     else
     {
         return(View("Error"));
     }
 }
Example #11
0
        public async Task <PromoModel> GetPromoAsync(UserReferral userReferral)
        {
            var refPromo = await _context.Promos.FirstOrDefaultAsync(x => x.Code == userReferral.ReferralCode);

            PromoModel promo = null;

            if (refPromo != null)
            {
                promo = await GetPromoAsync(refPromo.Id);
            }

            return(promo);
        }
        private void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            PromoModel proMod = dgvPromos.SelectedItem as PromoModel;

            if (proMod != null)
            {
                PromoDetails promoDetails = new PromoDetails(this, proMod);
                promoDetails.ShowDialog();
            }
            else
            {
                MessageBox.Show("No Records selected!");
            }
        }
Example #13
0
        public async Task <IActionResult> UpsertPromo(int?id)
        {
            PromoModel promo;

            if (id == null)
            {
                promo = new PromoModel();
            }
            else
            {
                promo = await _context.Promos.Include(x => x.ApplicableParts).FirstOrDefaultAsync(x => x.Id == id);
            }
            ViewData["AllParts"] = await _context.Products.ToListAsync();

            return(View(promo));
        }
Example #14
0
        private void fillPromoName()
        {
            PromoModel promo = new PromoModel();

            queryString = "SELECT dbspa.tblpromo.ID, promoname FROM dbspa.tblpromo WHERE isDeleted = 0";

            MySqlDataReader reader = conDB.getSelectConnection(queryString, null);

            while (reader.Read())
            {
                promo.ID        = reader["ID"].ToString();
                promo.PromoName = reader["promoname"].ToString();
                cmbPromos.Items.Add(promo);
                promo = new PromoModel();
            }
            conDB.closeConnection();
        }
Example #15
0
 public void OnGetPromo(PromoModel promo, AdaptyError error)
 {
     if (error != null)
     {
         Debug.Log("Error message: " + error.message + ", code: " + error.code);
     }
     else
     {
         if (promo != null)
         {
             Debug.Log("Promo promoType:" + promo.promoType + ", expiresAt:" + promo.expiresAt);
         }
         else
         {
             Debug.Log("No promo");
         }
     }
 }
Example #16
0
 public void UpdatePromo(PromoModel model)
 {
     try
     {
         Promo table = new Promo();
         using (VenturadaDataContext vdc = new VenturadaDataContext())
         {
             table                  = vdc.Promos.Single(a => a.PromoId == model.PromoId);
             table.PromoId          = model.PromoId;
             table.PromoTitle       = model.PromoTitle;
             table.PromoDescription = model.PromoDescription;
             table.ImageString      = model.ImageString;
             vdc.SubmitChanges();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #17
0
        private bool verifySelection()
        {
            bool             ifAllCorrect  = false;
            PromoModel       selectPromo   = cmbPromos.SelectedItem as PromoModel;
            ServiceTypeModel selectService = cmbServices.SelectedItem as ServiceTypeModel;

            if (selectPromo == null)
            {
                MessageBox.Show("Please select Promo Name!");
            }
            else if (selectService == null)
            {
                MessageBox.Show("Please select Service!");
            }
            else
            {
                ifAllCorrect = true;
            }
            return(ifAllCorrect);
        }
        private void loadDataGridDetails()
        {
            PromoModel        promo     = new PromoModel();
            List <PromoModel> lstPromos = new List <PromoModel>();

            queryString = "SELECT ID, promoname, price, commission FROM dbspa.tblpromo WHERE isDeleted = 0";

            MySqlDataReader reader = conDB.getSelectConnection(queryString, null);

            while (reader.Read())
            {
                promo.ID         = reader["ID"].ToString();
                promo.PromoName  = reader["promoname"].ToString();
                promo.PromoPrice = Convert.ToDouble(reader["price"].ToString());
                promo.Commission = reader["commission"].ToString();
                lstPromos.Add(promo);
                promo = new PromoModel();
            }
            conDB.closeConnection();
            dgvPromos.ItemsSource = lstPromos;
        }
Example #19
0
        public void UpdatePromo(PromoModel model)
        {
            try
            {
                Promo table = new Promo();
                using (VenturadaDataContext vdc = new VenturadaDataContext())
                {
                    table = vdc.Promos.Single(a => a.PromoId == model.PromoId);
                    table.PromoId = model.PromoId;
                    table.PromoTitle = model.PromoTitle;
                    table.PromoDescription = model.PromoDescription;
                    table.ImageString = model.ImageString;
                    vdc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Example #20
0
        // GET: Promo
        public ActionResult Index()
        {
            PromoADM          promos      = new PromoADM();
            List <Promocion>  promociones = promos.obtenerPromos();
            List <PromoModel> listPromo   = new List <PromoModel>();

            foreach (Promocion prom in promociones)
            {
                PromoModel promoModel = new PromoModel();
                promoModel.id             = prom.id;
                promoModel.articulo       = prom.articulo;
                promoModel.cantidadLlevar = prom.cantidadLlevar;
                promoModel.cantLleva      = prom.cantLleva;
                promoModel.cantPaga       = prom.cantPaga;
                promoModel.descuento      = prom.descuento;
                promoModel.descripcion    = prom.descripcion;
                promoModel.tipo           = prom.tipo;
                listPromo.Add(promoModel);
            }
            //var ret = Mapper.Map<IList< Promocion  >,IList<PromoModel>>( promos.obtenerPromos());
            return(View(listPromo.ToPagedList(1, paginaLargo)));
        }
Example #21
0
        private void loadDataGridServices()
        {
            PromoModel pm = cmbPromos.SelectedItem as PromoModel;

            List <PromoServicesModel> lstPromoServ = new List <PromoServicesModel>();
            PromoServicesModel        promoServ    = new PromoServicesModel();

            queryString = "SELECT dbspa.tblpromoservices.ID, dbspa.tblpromo.promoname, dbspa.tblservicetype.serviceType, " +
                          "dbspa.tblservicetype.description FROM((dbspa.tblpromoservices INNER JOIN dbspa.tblpromo ON dbspa.tblpromoservices.promoID = dbspa.tblpromo.ID) " +
                          "INNER JOIN dbspa.tblservicetype ON dbspa.tblpromoservices.serviceID = dbspa.tblservicetype.ID) " +
                          "WHERE dbspa.tblpromoservices.isDeleted = 0 AND dbspa.tblpromoservices.promoID = ?";

            parameters = new List <string>();

            if (pm != null)
            {
                parameters.Add(pm.ID);
            }
            else
            {
                parameters.Add("");
            }

            MySqlDataReader reader = conDB.getSelectConnection(queryString, parameters);

            while (reader.Read())
            {
                promoServ.ID          = reader["ID"].ToString();
                promoServ.PromoName   = reader["promoname"].ToString();
                promoServ.ServiceName = reader["description"].ToString();

                lstPromoServ.Add(promoServ);
                promoServ = new PromoServicesModel();
            }

            conDB.closeConnection();
            dgvPromoServices.ItemsSource = lstPromoServ;
        }
        private void GetPromosIfAny(IIberObject chkObject, PosCheck posCheck)
        {
            try
            {
                var dicPromos = new Dictionary <long, PromoModel>();
                foreach (IIberObject objInternal in chkObject.GetEnum(INTERNAL_CHECKS_PROMOS))
                {
                    var promoModel = new PromoModel {
                        PromoEntryId = objInternal.GetLongVal("ID"), PromoTypeId = objInternal.GetLongVal("PROMOTION_ID")
                    };

                    var lstEntries = (from IIberObject objElement in objInternal.GetEnum(INTERNAL_PROMOS_ITEMS) select objElement.GetLongVal("ID")).ToList();

                    promoModel.LstEntries = lstEntries;
                    dicPromos.Add(promoModel.PromoEntryId, promoModel);
                }
                posCheck.Promos = dicPromos;
            }
            catch
            {
                //return null;
            }
        }
Example #23
0
        public async Task <IActionResult> UpdateRole(string email, string newRole)
        {
            if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(newRole))
            {
                var user = await _userManager.FindByEmailAsync(email);

                var currentRoles = await _userManager.GetRolesAsync(user);

                var userRef = await _context.UserReferral.FirstOrDefaultAsync(x => x.UserId == user.Id);

                var refPromo = await _context.Promos.FirstOrDefaultAsync(x => x.Code == user.Email.Split('@')[0]);

                if (!currentRoles.Contains(newRole))
                {
                    // Change Roles
                    var removeRoleResult = await _userManager.RemoveFromRolesAsync(user, currentRoles);

                    if (removeRoleResult.Succeeded)
                    {
                        await _userManager.AddToRoleAsync(user, newRole);
                    }
                    await _context.SaveChangesAsync();

                    switch (newRole.ToUpper())
                    {
                    case "SPONSOR":
                        if (userRef == null)
                        {
                            userRef = new UserReferral
                            {
                                UserId             = user.Id,
                                Enabled            = true,
                                ReferralCode       = user.Email.Split('@')[0],
                                PayoutPercent      = 100,
                                StoreCreditPercent = 10
                            };
                        }
                        if (refPromo == null)
                        {
                            refPromo = new PromoModel
                            {
                                Code = userRef.ReferralCode,
                                DiscountPercentage = 3,
                                Enabled            = true
                            };
                        }

                        userRef.Enabled            = true;
                        userRef.PayoutPercent      = 100;
                        userRef.StoreCreditPercent = 3;
                        refPromo.Enabled           = true;

                        await UpsertUserReferralAsync(userRef);
                        await UpsertPromoCodeAsync(refPromo);

                        break;

                    case "DEFAULT":
                    default:
                        if (userRef != null)
                        {
                            userRef.Enabled = false;
                        }
                        if (refPromo != null)
                        {
                            refPromo.Enabled = false;
                        }

                        await UpsertUserReferralAsync(userRef);
                        await UpsertPromoCodeAsync(refPromo);

                        break;
                    }
                }
            }

            return(RedirectToAction("ManageUsers", "Admin"));
        }
Example #24
0
 public ActionResult Details(Guid? promotionId)
 {
     if (promotionId.HasValue)
     {
         this.AccountBase.SetupActionAccount();
         var pm = new PromoModel(this.AccountBase, promotionId.Value);
         return View(pm);
     }
     else
     {
         return View("Error");
     }
 }
Example #25
0
 public void OnPromoReceived(PromoModel promo)
 {
     Debug.Log("Promo promoType:" + promo.promoType + ", expiresAt:" + promo.expiresAt);
 }
Example #26
0
 public PromoDetails(PromoWindow pw, PromoModel pm)
 {
     promoWindow = pw;
     promoModel  = pm;
     InitializeComponent();
 }