Example #1
0
        public async Task <long> AddPost(NegoBarang model)
        {
            long response = 0;


            if (db != null)
            {
                try
                {
                    //NegoBarang negoBarang = new NegoBarang();

                    //negoBarang.UserProfileId = model.UserProfileId;
                    //negoBarang.BarangId = model.BarangId;
                    //negoBarang.TypePenawaran = model.TypePenawaran;
                    //negoBarang.Harga = model.Harga;
                    //negoBarang.Created = DateTime.Now;
                    //negoBarang.CreatedBy = model.CreatedBy;
                    //negoBarang.RowStatus = true;

                    await db.NegoBarang.AddAsync(model);

                    response = await db.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }


            return(response);
        }
Example #2
0
        public async Task <NegoBarangResponse> UpdatePost(NegoBarangRequest model)
        {
            NegoBarangResponse response = new NegoBarangResponse();

            if (db != null)
            {
                try
                {
                    NegoBarang negoBarang = await db.NegoBarang.Where(x => x.RowStatus == true && x.Id == model.ID).FirstOrDefaultAsync();

                    if (negoBarang != null)
                    {
                        negoBarang.UserProfileId = model.UserProfileID;
                        negoBarang.BarangId      = model.BarangID;
                        negoBarang.TypePenawaran = model.TypePenawaran;
                        negoBarang.Harga         = model.Harga;
                        negoBarang.Modified      = DateTime.Now;
                        negoBarang.ModifiedBy    = model.ModifiedBy;
                        await db.SaveChangesAsync();
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Data Not Found";
                    }
                }
                catch (Exception ex)
                {
                    response.Message   = ex.ToString();
                    response.IsSuccess = false;
                }
            }
            return(response);
        }
Example #3
0
        public async Task <long> UpdatePost(NegoBarang model)
        {
            long result = 0;

            if (db != null)
            {
                try
                {
                    NegoBarang negoBarang = await db.NegoBarang.Where(x => x.RowStatus == true && x.Id == model.Id).FirstOrDefaultAsync();

                    if (negoBarang != null)
                    {
                        negoBarang.UserProfileId = model.UserProfileId;
                        negoBarang.BarangId      = model.BarangId;
                        negoBarang.TypePenawaran = model.TypePenawaran;
                        negoBarang.Harga         = model.Harga;
                        negoBarang.Modified      = DateTime.Now;
                        negoBarang.ModifiedBy    = model.ModifiedBy;
                        result = await db.SaveChangesAsync();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(result);
        }
Example #4
0
        public async Task <bool> DeletePost(long ID)
        {
            bool result = false;

            if (db != null)
            {
                try
                {
                    NegoBarang negoBarang = await db.NegoBarang.Where(x => x.RowStatus == true && x.Id == ID).FirstOrDefaultAsync();

                    if (negoBarang != null)
                    {
                        negoBarang.RowStatus = false;
                        await db.SaveChangesAsync();

                        result = true;
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(result);
        }
Example #5
0
        public async Task <NegoBarangResponse> AddPost(NegoBarangRequest model)
        {
            NegoBarangResponse response = new NegoBarangResponse();


            if (db != null)
            {
                try
                {
                    NegoBarang negoBarang = new NegoBarang();

                    negoBarang.UserProfileId = db.UserProfile.Where(x => x.RowStatus == true && x.Email == model.UserName).Select(x => x.Id).FirstOrDefaultAsync().Result;
                    negoBarang.BarangId      = model.BarangID;
                    negoBarang.TypePenawaran = model.TypePenawaran;
                    negoBarang.Harga         = model.Harga;
                    negoBarang.Created       = DateTime.Now;
                    negoBarang.CreatedBy     = model.UserName;
                    negoBarang.RowStatus     = true;

                    await db.NegoBarang.AddAsync(negoBarang);

                    await db.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    response.IsSuccess = false;
                    response.Message   = ex.ToString();
                }
            }


            return(response);
        }
Example #6
0
        public async Task <NegoBarangResponse> DeletePost(NegoBarangRequest model)
        {
            NegoBarangResponse response = new NegoBarangResponse();

            if (db != null)
            {
                try
                {
                    NegoBarang negoBarang = await db.NegoBarang.Where(x => x.RowStatus == true && x.Id == model.ID).FirstOrDefaultAsync();

                    if (negoBarang != null)
                    {
                        negoBarang.RowStatus = false;
                        await db.SaveChangesAsync();

                        response.Message = "Data has been Saved";
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Data Not Found";
                    }
                }
                catch (Exception ex)
                {
                    response.Message   = ex.ToString();
                    response.IsSuccess = false;
                }
            }
            return(response);
        }
Example #7
0
        public async Task <TransactionResponse> SubmitBuy(long id, long nominal, string username)
        {
            TransactionResponse response = new TransactionResponse();
            NegoBarang          nego     = new NegoBarang()
            {
                BarangId = id, TypePenawaran = "ask", Harga = nominal
            };
            NegoBarang ResultNego = await INego.GetNegoBarang(nego);

            UserProfile usrBuyer = await IAuth.GetUserProfileByEmail(username);

            Transaction tran = new Transaction()
            {
                BuyerId            = usrBuyer.Id,
                SellerId           = ResultNego.UserProfileId,
                NegoBarangId       = ResultNego.Id,
                TransactionLevelId = 1,

                CreatedBy = username,
                Created   = DateTime.Now,
                RowStatus = true
            };

            long TransID = await dep.SaveTransaction(tran);

            if (TransID < 1)
            {
                response.Message   = "Failed When Save Transaction";
                response.IsSuccess = false;
            }
            else
            {
                TransactionJournal journal = new TransactionJournal()
                {
                    TransactionId      = tran.Id,
                    BuyerId            = tran.BuyerId,
                    SellerId           = tran.SellerId,
                    NegoBarangId       = tran.NegoBarangId,
                    TransactionLevelId = tran.TransactionLevelId,

                    Created   = tran.Created,
                    CreatedBy = tran.CreatedBy,
                    RowStatus = tran.RowStatus,
                };
                long JournalID = await IJournal.SaveTransactionJournal(journal);

                if (JournalID < 1)
                {
                    log.Error("Failed when insert TransactionJournal, TransactionID = " + tran.Id);
                }
                response.Message   = "Transaction Success.";
                response.IsSuccess = true;
            }
            return(response);
        }
Example #8
0
        public async Task <NegoBarang> GetNegoBarang(NegoBarang model)
        {
            NegoBarang response = new NegoBarang();

            if (db != null)
            {
                try
                {
                    response = await db.NegoBarang.Where(x => x.RowStatus == true &&
                                                         x.BarangId == model.BarangId && x.Harga == model.Harga && x.TypePenawaran == model.TypePenawaran).FirstOrDefaultAsync();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(response);
        }
Example #9
0
        public async Task <BarangResponse> SubmitUpload(string fileName, string username)
        {
            BarangResponse response = new BarangResponse();

            try
            {
                string    folderName = Path.Combine("Resources", "UploadDocs");
                string    filePath   = Path.Combine(Directory.GetCurrentDirectory(), folderName);
                string    sheetName  = "Master";
                DataTable dt         = new DataTable();

                string dbPath = Path.Combine(folderName, fileName);

                List <Kota> ListKota = await da_kota.GetAll();

                List <Merk> ListMerk = await da_merk.GetAllMerk();

                List <ModelBarang> ListModel = await da_model.GetAllModel();

                List <TypeBarang> ListType = await da_type.GetAllType();

                List <Warna> ListWarna = await da_warna.GetWarna();

                List <Barang> ListBarang = await dep.GetAllBarang();

                using (ExcelPackage pck = new ExcelPackage())
                {
                    using (FileStream stream = new FileStream(dbPath, FileMode.Open))
                    {
                        pck.Load(stream);
                        ExcelWorksheet oSheet = pck.Workbook.Worksheets[sheetName];
                        dt = WorksheetToDataTable(oSheet);
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            long KotaID       = 0;
                            long MerkID       = 0;
                            long ModelID      = 0;
                            long TypeID       = 0;
                            long WarnaID      = 0;
                            long BarangID     = 0;
                            long NegoBarangID = 0;

                            errMerk       = dt.Rows[i].ItemArray.GetValue(1).ToString();
                            errModel      = dt.Rows[i].ItemArray.GetValue(2).ToString();
                            errType       = dt.Rows[i].ItemArray.GetValue(3).ToString();
                            errWarna      = dt.Rows[i].ItemArray.GetValue(4).ToString();
                            errBarang     = dt.Rows[i].ItemArray.GetValue(5).ToString();
                            errOTR        = dt.Rows[i].ItemArray.GetValue(6).ToString();
                            errHargaFinal = dt.Rows[i].ItemArray.GetValue(8).ToString();

                            #region Insert To Kota
                            string Kota = dt.Rows[i].ItemArray.GetValue(0).ToString();
                            if (!ListKota.Where(x => x.Name.ToLower() == Kota.ToLower()).Any())
                            {
                                Kota k = new Kota();
                                k.Name        = Kota;
                                k.Description = Kota;

                                k.RowStatus = true;
                                k.Created   = DateTime.Now;
                                k.CreatedBy = username;
                                KotaID      = da_kota.AddPost(k).Result;
                                ListKota.Add(k);
                            }
                            else
                            {
                                KotaID = ListKota.Where(x => x.Name.ToLower() == Kota.ToLower() && x.RowStatus == true).First().Id;
                            }
                            #endregion

                            #region Insert To Merk
                            string Merk = dt.Rows[i].ItemArray.GetValue(1).ToString();
                            if (!ListMerk.Where(x => x.Name.ToLower() == Merk.ToLower()).Any())
                            {
                                Merk m = new Merk();
                                m.Name        = Merk;
                                m.Description = Merk;
                                m.RowStatus   = true;
                                m.Created     = DateTime.Now;
                                m.CreatedBy   = username;
                                MerkID        = da_merk.Add(m).Result;
                                ListMerk.Add(m);
                            }
                            else
                            {
                                MerkID = ListMerk.Where(x => x.Name.ToLower() == Merk.ToLower() && x.RowStatus == true).First().Id;
                            }
                            #endregion

                            #region Insert to ModelBarang
                            string Model = dt.Rows[i].ItemArray.GetValue(2).ToString();
                            if (!ListModel.Where(x => x.Name.ToLower() == Model.ToLower()).Any())
                            {
                                ModelBarang mb = new ModelBarang();
                                mb.MerkId      = MerkID;
                                mb.Name        = Model;
                                mb.Description = Model;
                                mb.RowStatus   = true;
                                mb.Created     = DateTime.Now;
                                mb.Createdby   = username;
                                ModelID        = da_model.Add(mb).Result;
                                ListModel.Add(mb);
                            }
                            else
                            {
                                ModelID = ListModel.Where(x => x.Name.ToLower() == Model.ToLower() && x.RowStatus == true).First().Id;
                            }
                            #endregion

                            #region Insert to TypeBarang
                            string Type = dt.Rows[i].ItemArray.GetValue(4).ToString();
                            if (!ListType.Where(x => x.Name.ToLower() == Type.ToLower()).Any())
                            {
                                TypeBarang tb = new TypeBarang();
                                tb.Name          = Type;
                                tb.ModelBarangId = ModelID;
                                tb.Description   = Type;
                                tb.RowStatus     = true;
                                tb.Created       = DateTime.Now;
                                tb.CreatedBy     = username;
                                TypeID           = da_type.Add(tb).Result;
                                ListType.Add(tb);
                            }
                            else
                            {
                                TypeID = ListType.Where(x => x.RowStatus == true && x.Name.ToLower() == Type.ToLower()).First().Id;
                            }
                            #endregion

                            #region Insert to Warna
                            string Warna = dt.Rows[i].ItemArray.GetValue(6).ToString();
                            if (!ListWarna.Where(x => x.Name.ToLower() == Warna.ToLower()).Any())
                            {
                                Warna w = new Warna();
                                w.Name        = Warna;
                                w.Description = Warna;
                                w.Sapcode     = dt.Rows[i].ItemArray.GetValue(5).ToString();
                                w.RowStatus   = true;
                                w.Created     = DateTime.Now;
                                w.CreatedBy   = username;
                                WarnaID       = da_warna.Add(w).Result;
                                ListWarna.Add(w);
                            }
                            else
                            {
                                WarnaID = ListWarna.Where(x => x.RowStatus == true && x.Name.ToLower() == Warna.ToLower()).First().Id;
                            }
                            #endregion

                            string OTRstrRaw = dt.Rows[i].ItemArray.GetValue(8).ToString();
                            string OTRstr    = OTRstrRaw.Contains('.') ? OTRstrRaw.Substring(0, OTRstrRaw.LastIndexOf('.')) : OTRstrRaw;

                            string DiscstrRaw = dt.Rows[i].ItemArray.GetValue(9).ToString();
                            string Discstr    = DiscstrRaw.Contains('.') ? DiscstrRaw.Substring(0, DiscstrRaw.LastIndexOf('.')) : DiscstrRaw;

                            string FinalRaw = dt.Rows[i].ItemArray.GetValue(10).ToString();
                            string Finalstr = FinalRaw.Contains('.') ? FinalRaw.Substring(0, FinalRaw.LastIndexOf('.')) : FinalRaw;

                            string YearstrRaw = dt.Rows[i].ItemArray.GetValue(7).ToString();
                            string Yearstr    = YearstrRaw.Contains('.') ? YearstrRaw.Substring(0, OTRstrRaw.LastIndexOf('.')) : YearstrRaw;

                            long OTR        = Convert.ToInt64(OTRstr);
                            long Discount   = Convert.ToInt64(Discstr);
                            long HargaFinal = Convert.ToInt64(Finalstr);
                            int  Year       = Convert.ToInt32(Yearstr);

                            #region Insert to Barang
                            Barang brg = new Barang()
                            {
                                RowStatus    = true,
                                Created      = DateTime.Now,
                                CreatedBy    = username,
                                HargaOtr     = OTR,
                                Name         = Type,
                                WarnaId      = WarnaID,
                                TypeBarangId = TypeID,
                                KotaId       = KotaID,
                                Year         = Year,
                                KodeType     = dt.Rows[i].ItemArray.GetValue(3).ToString()
                            };
                            BarangID = dep.AddPost(brg).Result;
                            #endregion

                            #region Insert to NegoBarang
                            NegoBarang nb = new NegoBarang()
                            {
                                RowStatus     = true,
                                BarangId      = BarangID,
                                UserProfileId = 3,
                                TypePenawaran = "ask",
                                Harga         = HargaFinal,
                                Created       = DateTime.Now,
                                CreatedBy     = username
                            };
                            NegoBarangID = da_nego.AddPost(nb).Result;
                            #endregion
                        }
                        response.IsSuccess = true;
                        response.Message   = "Success";
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                string Ket = string.Format("Merk={0}, Model={1}, Type={2}, Warna={3}, Barang={4}, HargaOTR={5}, Harga Final={6}, Error={7} ",
                                           errMerk, errModel, errType, errWarna, errBarang, errOTR, errHargaFinal, ex.ToString());
                response.Message   = Ket;// ex.ToString();
                response.IsSuccess = false;
            }
            return(response);
        }
Example #10
0
        public async Task <NegoBarangResponse> SubmitBid(NegoBarangRequest req)
        {
            NegoBarangResponse response    = new NegoBarangResponse();
            NegoBarang         model       = new NegoBarang();
            UserProfile        userProfile = await IAuth.GetUserProfileByEmail(req.UserName);

            try
            {
                if (req.ID > 0)
                {
                    model.Id            = req.ID;
                    model.UserProfileId = userProfile.Id;
                    model.BarangId      = req.BarangID;
                    model.Harga         = req.Harga;
                    model.TypePenawaran = req.TypePenawaran = "BID";
                    model.Created       = DateTime.Now;
                    model.CreatedBy     = req.UserName;
                    model.RowStatus     = true;
                    if (await dep.UpdatePost(model) > 0)
                    {
                        response.IsSuccess = true;
                        response.Message   = "Update Success";
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Update Failed";
                    }
                }
                else
                {
                    model.UserProfileId = userProfile.Id;
                    model.BarangId      = req.BarangID;
                    model.TypePenawaran = req.TypePenawaran = "BID";
                    model.Created       = DateTime.Now;
                    model.CreatedBy     = req.UserName;
                    model.RowStatus     = true;
                    model.Harga         = req.Harga;

                    if (await dep.AddPost(model) > 0)
                    {
                        response.IsSuccess = true;
                        response.Message   = "Data Already Saved";
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Save Failed";
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                response.IsSuccess = false;
                response.Message   = ex.Message.ToString();
            }

            //return await dep.AddPost(req);
            return(response);
        }
Example #11
0
        public async Task <NegoBarangResponse> SubmitListASK(NegoBarangRequest req)
        {
            NegoBarangResponse response = new NegoBarangResponse();

            UserProfile userProfile = await IAuth.GetUserProfileByEmail(req.UserName);

            try
            {
                List <Barang> barangs = iBarang.GetIDBarangByTypeAndColourIDS(req.TypeBarangID, req.ListWarna).Result;
                foreach (var item in barangs)
                {
                    NegoBarang model = new NegoBarang();
                    model.Id            = req.ID;
                    model.UserProfileId = userProfile.Id;
                    model.BarangId      = item.Id;
                    model.Harga         = req.Harga;
                    model.TypePenawaran = req.TypePenawaran = "ASK";
                    model.Created       = DateTime.Now;
                    model.CreatedBy     = req.UserName;
                    model.RowStatus     = true;
                    if (await dep.AddPost(model) > 0)
                    {
                        response.IsSuccess = true;
                        response.Message   = "Data Already Success";
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Save Failed";
                    }
                }
                //if (req.ID > 0)
                //{
                //    model.Id = req.ID;
                //    model.UserProfileId = userProfile.Id;
                //    model.BarangId = req.BarangID;
                //    model.Harga = req.Harga;
                //    model.TypePenawaran = req.TypePenawaran = "ASK";
                //    model.Created = DateTime.Now;
                //    model.CreatedBy = req.UserName;
                //    model.RowStatus = true;
                //    if (await dep.UpdatePost(model) > 0)
                //    {
                //        response.IsSuccess = true;
                //        response.Message = "Update Success";
                //    }
                //    else
                //    {
                //        response.IsSuccess = false;
                //        response.Message = "Update Failed";
                //    }

                //}
                //else
                //{
                //    model.UserProfileId = userProfile.Id;
                //    model.BarangId = req.BarangID;
                //    model.TypePenawaran = req.TypePenawaran = "ASK";
                //    model.Created = DateTime.Now;
                //    model.CreatedBy = req.UserName;
                //    model.RowStatus = true;
                //    model.Harga = req.Harga;
                //    if (await dep.AddPost(model) > 0)
                //    {
                //        response.IsSuccess = true;
                //        response.Message = "Data Already Saved";
                //    }
                //    else
                //    {
                //        response.IsSuccess = false;
                //        response.Message = "Save Failed";
                //    }
                //}
            }
            catch (Exception ex)
            {
                log.Error(ex);
                response.IsSuccess = false;
                response.Message   = ex.Message.ToString();
            }

            //return await dep.AddPost(req);
            return(response);
        }
Example #12
0
        public async Task <NegoBarangResponse> Submitask(NegoBarangRequest req)
        {
            NegoBarangResponse response    = new NegoBarangResponse();
            NegoBarang         model       = new NegoBarang();
            UserProfile        userProfile = await IAuth.GetUserProfileByEmail(req.UserName);

            UserDetail userDetail = await IAuth.GetUserDetailByID(userProfile.Id);

            if (userDetail == null)
            {
                response.IsSuccess = false;
                response.Message   = "Pastikan Anda adalah Seller yang terverifikasi";
                return(response);
            }
            if (userDetail.Description == null || userDetail.Description.ToLower() != "seller")
            {
                response.IsSuccess = false;
                response.Message   = "Pastikan Anda adalah Seller yang terverifikasi";
                return(response);
            }
            try
            {
                if (req.ID > 0)
                {
                    model.Id            = req.ID;
                    model.UserProfileId = userProfile.Id;
                    model.BarangId      = req.BarangID;
                    model.Harga         = req.Harga;
                    model.TypePenawaran = req.TypePenawaran = "ASK";
                    model.Created       = DateTime.Now;
                    model.CreatedBy     = req.UserName;
                    model.RowStatus     = true;
                    if (await dep.UpdatePost(model) > 0)
                    {
                        response.IsSuccess = true;
                        response.Message   = "Update Success";
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Update Failed";
                    }
                }
                else
                {
                    model.UserProfileId = userProfile.Id;
                    model.BarangId      = req.BarangID;
                    model.TypePenawaran = req.TypePenawaran = "ASK";
                    model.Created       = DateTime.Now;
                    model.CreatedBy     = req.UserName;
                    model.RowStatus     = true;
                    model.Harga         = req.Harga;
                    if (await dep.AddPost(model) > 0)
                    {
                        response.IsSuccess = true;
                        response.Message   = "Data Already Saved";
                    }
                    else
                    {
                        response.IsSuccess = false;
                        response.Message   = "Save Failed";
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                response.IsSuccess = false;
                response.Message   = ex.Message.ToString();
            }

            //return await dep.AddPost(req);
            return(response);
        }
Example #13
0
        public async Task <TransactionResponse> SubmitSell(long id, long nominal, string username)
        {
            TransactionResponse response = new TransactionResponse();
            NegoBarang          nego     = new NegoBarang()
            {
                BarangId = id, TypePenawaran = "bid", Harga = nominal
            };
            NegoBarang ResultNego = await INego.GetNegoBarang(nego);

            UserProfile usrSell = await IAuth.GetUserProfileByEmail(username);

            UserDetail userDetail = await IAuth.GetUserDetailByID(usrSell.Id);

            if (userDetail == null)
            {
                response.IsSuccess = false;
                response.Message   = "Pastikan Anda adalah Seller yang terverifikasi";
                return(response);
            }
            if (userDetail.Description == null || userDetail.Description.ToLower() != "seller")
            {
                response.IsSuccess = false;
                response.Message   = "Pastikan Anda adalah Seller yang terverifikasi";
                return(response);
            }
            if (ResultNego == null)
            {
                response.Message   = "Failed When Save Transaction";
                response.IsSuccess = false;
                return(response);
            }
            Transaction tran = new Transaction()
            {
                BuyerId            = ResultNego.UserProfileId,
                SellerId           = usrSell.Id,
                NegoBarangId       = ResultNego.Id,
                TransactionLevelId = 1,

                CreatedBy = username,
                Created   = DateTime.Now,
                RowStatus = true
            };

            ResultNego.Modified       = DateTime.Now;
            ResultNego.ModifiedBy     = username;
            ResultNego.HasTransaction = true;

            long TransID = await dep.SaveTransaction(tran);

            if (TransID < 1)
            {
                response.Message   = "Failed When Save Transaction";
                response.IsSuccess = false;
            }
            else
            {
                TransactionJournal journal = new TransactionJournal()
                {
                    TransactionId      = tran.Id,
                    BuyerId            = tran.BuyerId,
                    SellerId           = tran.SellerId,
                    NegoBarangId       = tran.NegoBarangId,
                    TransactionLevelId = tran.TransactionLevelId,

                    Created   = tran.Created,
                    CreatedBy = tran.CreatedBy,
                    RowStatus = tran.RowStatus,
                };
                long JournalID = await IJournal.SaveTransactionJournal(journal);

                if (JournalID < 1)
                {
                    log.Error("Failed when insert TransactionJournal, TransactionID = " + tran.Id);
                }
                response.Message   = "Transaction Success.";
                response.IsSuccess = true;
            }
            INego.UpdatePost(ResultNego);
            return(response);
        }