예제 #1
0
        public RepoResult DeleteMultiple(IDBContext db, IList <string> listKey)
        {
            SqlParameter outputRetVal        = CreateSqlParameterOutputReturnValue("RetVal");
            SqlParameter outputErrMesg       = CreateSqlParameterOutputErrMesg("ErrMesg");
            SqlParameter outputTblApprovalId = CreateSqlParameterTblOfVarchar("TableOfVarchar", listKey, "dbo.TableOfVarchar");

            dynamic args = new
            {
                RetVal         = outputRetVal,
                ErrMesg        = outputErrMesg,
                TableOfVarchar = outputTblApprovalId
            };

            int result = db.Execute("Po/Po_DeleteMultiple", args);

            RepoResult repoResult = new RepoResult();

            repoResult.Result = RepoResult.VALUE_SUCCESS;

            if ((int)outputRetVal.Value != 0)
            {
                repoResult.Result = RepoResult.VALUE_ERROR;
                string errMesg = string.Empty;
                if (outputErrMesg != null && outputErrMesg.Value != null)
                {
                    errMesg = outputErrMesg.Value.ToString();
                }
                repoResult.ErrMesgs    = new string[1];
                repoResult.ErrMesgs[0] = errMesg;
            }

            return(repoResult);
        }
예제 #2
0
        public ActionResult UploadDataFile(HttpPostedFileBase file, string uploadMode)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;
            IDBContext db         = databaseManager.GetContext();

            IList <string> errMesgs = new List <string>();
            IList <Items>  data     = new List <Items>();

            Toyota.Common.Credential.User u = Lookup.Get <Toyota.Common.Credential.User>();
            string userName = u.Username;

            try
            {
                data = this.GetDataLocalUploadExcel(file, errMesgs);

                if (errMesgs.Count >= 1)
                {
                    ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                    ajaxResult.ErrMesgs = new string[] {
                        string.Format("{0}", errMesgs[0])
                    };
                }
                else
                {
                    db.BeginTransaction();

                    foreach (Items loopInsert in data)
                    {
                        repoResult = itemRepo.InsertUpdate(db, userName, loopInsert, uploadMode);
                    }

                    CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);

                    if (AjaxResult.VALUE_ERROR.Equals(ajaxResult.Result))
                    {
                        db.AbortTransaction();
                    }
                    else
                    {
                        db.CommitTransaction();
                    }
                }
            }
            catch (Exception ex)
            {
                db.AbortTransaction();
                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }
            finally
            {
                db.Close();
            }

            return(Json(ajaxResult));
        }
예제 #3
0
 public RepoResult save()
 {
     try {
         context.SaveChanges();
         return(new RepoResult());
     } catch (Exception e) {
         return(RepoResult.Failed(RepoMessages.saveChangesFailure(e)));
     }
 }
        public static List <RepoResult> SetSession(RepoResult repo)
        {
            var repos = (List <RepoResult>)HttpContext.Current.Session["repos"];

            if (repos == null)
            {
                repos = new List <RepoResult>();
            }
            repos.Add(repo);
            return(repos);
        }
예제 #5
0
        public RepoResult LockData()
        {
            SqlParameter outputRetVal  = CreateSqlParameterOutputReturnValue("RetVal");
            SqlParameter outputErrMesg = CreateSqlParameterOutputErrMesg("ErrMesg");

            dynamic args = new
            {
                RetVal     = outputRetVal,
                ErrMesg    = outputErrMesg,
                DataId     = DATA_ID,
                ModuleId   = MODULE_ID,
                FunctionId = FUNCTION_ID,
                UserId     = LOCKED_BY,
                ActionType = ACTION_TYPE
            };

            RepoResult repoResult = new RepoResult();

            try
            {
                Db.BeginTransaction();

                int result = Db.Execute("Shared/LockData", args);
                repoResult.Result = RepoResult.VALUE_SUCCESS;

                if ((int)outputRetVal.Value != 0)
                {
                    repoResult.Result = RepoResult.VALUE_ERROR;
                    string errMesg = string.Empty;
                    if (outputErrMesg != null && outputErrMesg.Value != null)
                    {
                        errMesg = outputErrMesg.Value.ToString();
                    }
                    repoResult.ErrMesgs    = new string[1];
                    repoResult.ErrMesgs[0] = errMesg;
                    Db.AbortTransaction();
                }
                else
                {
                    Db.CommitTransaction();
                }
            }
            catch (Exception e)
            {
                repoResult.Result      = RepoResult.VALUE_ERROR;
                repoResult.ErrMesgs    = new string[1];
                repoResult.ErrMesgs[0] = e.Message;

                Db.AbortTransaction();
            }
            return(repoResult);
        }
예제 #6
0
        public JsonResult AddEditSave(string screenMode, PakAnas.Models.Approval data)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;

            IDBContext db = databaseManager.GetContext();

            try
            {
                db.BeginTransaction();

                ajaxResult = Validation(data); //Validasi Controller

                if (AjaxResult.VALUE_SUCCESS.Equals(ajaxResult.Result))
                {
                    if (CommonConstant.SCREEN_MODE_ADD.Equals(screenMode))
                    {
                        repoResult = approvalRepo.Insert(GetLoginUserId(), data);
                    }
                    else if (CommonConstant.SCREEN_MODE_EDIT.Equals(screenMode))
                    {
                        repoResult = approvalRepo.Update(GetLoginUserId(), data);
                    }

                    CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);

                    if (AjaxResult.VALUE_ERROR.Equals(ajaxResult.Result))
                    {
                        db.AbortTransaction();
                    }
                    else
                    {
                        db.CommitTransaction();
                    }
                }
            }
            catch (Exception ex)
            {
                db.AbortTransaction();
                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }
            finally
            {
                db.Close();
            }

            return(Json(ajaxResult));
        }
예제 #7
0
 public RepoResult create(T item)
 {
     if (item == null)
     {
         return(RepoResult.Failed(RepoMessages.paramIsNull()));
     }
     if (item.PKHasNoValue())      //<----------PROBLEM SOLVED
     {
         context.Set <T>().Add(item);
         return(save());
     }
     else
     {
         return(RepoResult.Failed(RepoMessages.PKIsNotZeroAtCreate()));
     }
 }
예제 #8
0
        protected void CopyPropertiesRepoToAjaxResult(RepoResult source, AjaxResult dest)
        {
            if (source == null)
            {
                dest = null;
                return;
            }

            if (dest != null && source != null)
            {
                dest.Result    = source.Result;
                dest.ProcessId = source.ProcessId;
                dest.SuccMesgs = source.SuccMesgs;
                dest.ErrMesgs  = source.ErrMesgs;
                dest.Params    = source.Params;
            }
        }
        public JsonResult Bookmark(RepoResult bookmarkRepo)
        {
            bookmarkRepo.Marked = true;
            var repos = (List <RepoResult>)Session["repos"];

            if (repos == null)
            {
                repos = new List <RepoResult>();
            }
            if (repos.All(x => x.ID != bookmarkRepo.ID))
            {
                repos.Add(bookmarkRepo);
                Session["repos"] = repos;
            }

            return(Json(bookmarkRepo, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public RepoResult Insert(string userId, Approval app)
        {
            SqlParameter outputRetVal          = CreateSqlParameterOutputReturnValue("RetVal");
            SqlParameter outputErrMesg         = CreateSqlParameterOutputErrMesg("ErrMesg");
            SqlParameter outputTblApprovalFlow =
                CreateSqlParameterOutputTblOfApprovalFlow("TableOfVarPo",
                                                          app.listApprovalFlow, "dbo.TableOfVarPo");

            dynamic args = new
            {
                RetVal            = outputRetVal,
                ErrMesg           = outputErrMesg,
                UserId            = userId,
                Po                = app.po_no,
                Pr                = app.pr_no,
                PoDate            = app.po_date,
                Supplier          = app.supplier_code,
                TableApprovalFlow = outputTblApprovalFlow
            };

            Db.BeginTransaction();
            int result = Db.Execute("Po/Po_Insert", args);

            RepoResult repoResult = new RepoResult();

            repoResult.Result = RepoResult.VALUE_SUCCESS;

            if ((int)outputRetVal.Value != 0)
            {
                repoResult.Result = RepoResult.VALUE_ERROR;
                string errMesg = string.Empty;
                if (outputErrMesg != null && outputErrMesg.Value != null)
                {
                    errMesg = outputErrMesg.Value.ToString();
                }
                repoResult.ErrMesgs    = new string[1];
                repoResult.ErrMesgs[0] = errMesg;
                Db.AbortTransaction();
            }
            else
            {
                Db.CommitTransaction();
            }

            return(repoResult);
        }
예제 #11
0
        public JsonResult UnlockData(long dataId, string moduleId, string functionId)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;

            try
            {
                repoResult = this.UnlockData(dataId, moduleId, functionId, GetLoginUserId(), CommonConstant.DATA_LOCK_ACTION_TYPE.SDLAT_EDIT);
                CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);
            }
            catch (Exception ex)
            {
                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }

            return(Json(ajaxResult));
        }
예제 #12
0
        public RepoResult InsertAttachment(string id,
                                           string tempFilePath, string tempFileName)
        {
            SqlParameter outputRetVal  = CreateSqlParameterOutputReturnValue("RetVal");
            SqlParameter outputErrMesg = CreateSqlParameterOutputErrMesg("ErrMesg");

            dynamic args = new
            {
                RetVal       = outputRetVal,
                ErrMesg      = outputErrMesg,
                Id           = id,
                TempFilePath = tempFilePath,
                TempFileName = tempFileName
            };

            Db.BeginTransaction();
            int result = Db.Execute("FileTemp/FileTemp_Insert", args);

            RepoResult repoResult = new RepoResult();

            repoResult.Result = RepoResult.VALUE_SUCCESS;

            if ((int)outputRetVal.Value != 0)
            {
                repoResult.Result = RepoResult.VALUE_ERROR;
                string errMesg = string.Empty;
                if (outputErrMesg != null && outputErrMesg.Value != null)
                {
                    errMesg = outputErrMesg.Value.ToString();
                }
                repoResult.ErrMesgs    = new string[1];
                repoResult.ErrMesgs[0] = errMesg;
                Db.AbortTransaction();
            }
            else
            {
                Db.CommitTransaction();
            }

            return(repoResult);
        }
예제 #13
0
        public JsonResult Delete(List <string> selectedKeys)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;

            IDBContext db = databaseManager.GetContext();

            try
            {
                db.BeginTransaction();
                repoResult = pakanasRepo.DeleteMultiple(db, selectedKeys);
                CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);


                if (AjaxResult.VALUE_ERROR.Equals(ajaxResult.Result))
                {
                    db.AbortTransaction();
                }
                else
                {
                    db.CommitTransaction();
                }
            }


            catch (Exception ex)
            {
                db.AbortTransaction();
                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }
            finally
            {
                db.Close();
            }

            return(Json(ajaxResult));
        }
예제 #14
0
        public RepoResult DeleteAttachment(string fileName)
        {
            fileName = Regex.Replace(fileName, @"\\\\Photo\\\\", "");

            SqlParameter outputRetVal  = CreateSqlParameterOutputReturnValue("RetVal");
            SqlParameter outputErrMesg = CreateSqlParameterOutputErrMesg("ErrMesg");

            dynamic args = new
            {
                RetVal       = outputRetVal,
                ErrMesg      = outputErrMesg,
                TempFileName = fileName
            };

            Db.BeginTransaction();
            int result = Db.Execute("FileTemp/FileTemp_Delete", args);

            RepoResult repoResult = new RepoResult();

            repoResult.Result = RepoResult.VALUE_SUCCESS;

            if ((int)outputRetVal.Value != 0)
            {
                repoResult.Result = RepoResult.VALUE_ERROR;
                string errMesg = string.Empty;
                if (outputErrMesg != null && outputErrMesg.Value != null)
                {
                    errMesg = outputErrMesg.Value.ToString();
                }
                repoResult.ErrMesgs    = new string[1];
                repoResult.ErrMesgs[0] = errMesg;
                Db.AbortTransaction();
            }
            else
            {
                Db.CommitTransaction();
            }

            return(repoResult);
        }
예제 #15
0
        public ActionResult AddEditSave(string screenMode, PakAnass data)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;
            IDBContext db         = databaseManager.GetContext();

            Toyota.Common.Credential.User u = Lookup.Get <Toyota.Common.Credential.User>();
            string userName = u.Username;

            try
            {
                repoResult = pakanasRepo.InsertUpdate(db, userName, data, screenMode);

                CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);

                if (AjaxResult.VALUE_ERROR.Equals(ajaxResult.Result))
                {
                    db.AbortTransaction();
                }
                else
                {
                    db.CommitTransaction();
                }
            }

            catch (Exception ex)
            {
                db.AbortTransaction();
                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }
            finally
            {
                db.Close();
            }

            return(Json(ajaxResult));
        }
예제 #16
0
        protected RepoResult GenerateRepoResult(SqlParameter outputRetVal, SqlParameter outputErrMesg, SqlParameter outputProcessId)
        {
            RepoResult repoResult = new RepoResult();

            if ((int)outputRetVal.Value != 0)
            {
                repoResult.Result   = RepoResult.VALUE_ERROR;
                repoResult.ErrMesgs = GetMesgFromOutputErrMesg(outputErrMesg);
            }
            else
            {
                repoResult.Result    = RepoResult.VALUE_SUCCESS;
                repoResult.SuccMesgs = GetMesgFromOutputErrMesg(outputErrMesg);
            }

            if (outputProcessId != null && !Convert.IsDBNull(outputProcessId) &&
                !Convert.IsDBNull(outputProcessId.Value))
            {
                repoResult.ProcessId = Convert.ToString(outputProcessId.Value);
            }

            return(repoResult);
        }
예제 #17
0
        public RepoResult InsertUpdate(IDBContext db, string userId,
                                       Items data, string screenMode)
        {
            SqlParameter outputRetVal  = CreateSqlParameterOutputReturnValue("RetVal");
            SqlParameter outputErrMesg = CreateSqlParameterOutputErrMesg("ErrMesg");

            dynamic args = new
            {
                RetVal     = outputRetVal,
                ErrMesg    = outputErrMesg,
                UserId     = userId,
                ItemCode   = data.ITEM_CODE,
                ItemName   = data.ITEM_NAME,
                ItemUm     = data.ITEM_UM,
                ScreenMode = screenMode
            };

            int result = db.Execute("Item/Item_InsertUpdate", args);

            RepoResult repoResult = new RepoResult();

            repoResult.Result = RepoResult.VALUE_SUCCESS;

            if ((int)outputRetVal.Value != 0)
            {
                repoResult.Result = RepoResult.VALUE_ERROR;
                string errMesg = string.Empty;
                if (outputErrMesg != null && outputErrMesg.Value != null)
                {
                    errMesg = outputErrMesg.Value.ToString();
                }
                repoResult.ErrMesgs    = new string[1];
                repoResult.ErrMesgs[0] = errMesg;
            }

            return(repoResult);
        }
예제 #18
0
        protected ActionResult UploadFileMultiplePhysicalPath(HttpPostedFileBase file, string folderName, string id, string mode)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;

            try
            {
                if (file != null)
                {
                    //string path = ConfigurationManager.AppSettings[APP_SETTING_TEMP_UPLOAD_FILE_PATH];
                    string path     = null;
                    string tempPath = null;
                    string halfPath = null;
                    //path = Server.MapPath(smRepo.FindBySystemTypeCd(CommonConstant.SYS_FILE_LOC_TEMP_FOLDER).SYSTEM_VALUE_TXT);
                    //tempPath = Server.MapPath(smRepo.FindBySystemTypeCd(CommonConstant.SYS_FILE_LOC_TEMP_FOLDER).SYSTEM_VALUE_TXT);
                    halfPath = "\\" + folderName;
                    path     = itemRepo.FindBySettingCd(CommonConstant.SYS_FILE_LOC_TEMP_FOLDER);
                    path     = path + halfPath;
                    tempPath = path;

                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }

                    HousekeepingTempFolder(path, 1);

                    string fileNameOrigin = file.FileName;
                    string fileNameServer = Guid.NewGuid().ToString() + "_" + fileNameOrigin;

                    string fileNameServerFullPath = Path.Combine(path, fileNameServer);
                    string fileNameHalfPath       = Path.Combine(halfPath, fileNameServer);

                    file.SaveAs(fileNameServerFullPath);

                    tempPath         = tempPath + "" + fileNameServer;
                    fileNameHalfPath = fileNameHalfPath.Replace(@"\", @"\\");

                    repoResult = itemRepo.InsertAttachment(id, path, fileNameServer);

                    CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);

                    ajaxResult.Params = new object[] {
                        fileNameOrigin, fileNameServer, fileNameServerFullPath, id, tempPath, fileNameHalfPath, mode
                    };
                }
                else
                {
                    ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                    ajaxResult.ErrMesgs = new string[] { "No file uploaded, please reupload again the file" };
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.StackTrace);

                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }

            return(Json(ajaxResult));
        }
예제 #19
0
        public ActionResult AddEditSave(string screenMode, Items data)
        {
            AjaxResult ajaxResult = new AjaxResult();
            RepoResult repoResult = null;
            IDBContext db         = databaseManager.GetContext();

            Toyota.Common.Credential.User u = Lookup.Get <Toyota.Common.Credential.User>();
            string userName = u.Username;

            try
            {
                db.BeginTransaction();

                ajaxResult = Validation(data); //Validasi Controller

                if (AjaxResult.VALUE_SUCCESS.Equals(ajaxResult.Result))
                {
                    if (CommonConstant.SCREEN_MODE_EDIT.Equals(screenMode))
                    {
                        Items dtUpload = itemRepo.GetByKey(data.ITEM_CODE);

                        if (dtUpload.UPLOAD_PATH != null)
                        {
                            if (dtUpload.UPLOAD_PATH != data.UPLOAD_HALF_PATH)
                            {
                                this.DeleteUploadedFile(dtUpload.UPLOAD_PATH);
                            }
                        }
                    }

                    repoResult = itemRepo.InsertUpdate(db, userName, data, screenMode);

                    CopyPropertiesRepoToAjaxResult(repoResult, ajaxResult);

                    if (AjaxResult.VALUE_ERROR.Equals(ajaxResult.Result))
                    {
                        db.AbortTransaction();
                    }
                    else
                    {
                        db.CommitTransaction();

                        string sourceDirPath =
                            itemRepo.FindBySettingCd(CommonConstant.SYS_FILE_LOC_TEMP_FOLDER);

                        string destDirPath =
                            itemRepo.FindBySettingCd(CommonConstant.SYS_FILE_LOC_MAIN_FOLDER);

                        MoveFiles(sourceDirPath, destDirPath, data.UPLOAD_HALF_PATH);
                    }
                }
            }

            catch (Exception ex)
            {
                db.AbortTransaction();
                ajaxResult.Result   = AjaxResult.VALUE_ERROR;
                ajaxResult.ErrMesgs = new string[] {
                    string.Format("{0} = {1}", ex.GetType().FullName, ex.Message)
                };
            }
            finally
            {
                db.Close();
            }

            return(Json(ajaxResult));
        }